https://school.programmers.co.kr/learn/courses/30/lessons/181938?language=java
문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
- 12 ⊕ 3 = 123
- 3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 * a * b 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
단, , a ⊕ b와 2 * a * b가 같으면 a ⊕ b를 return 합니다.
제한 사항
- 1 ≤ a, b < 10,000
입출력 예
a | b | result |
2 | 91 | 364 |
91 | 2 | 912 |
입출력 예 설명
입출력 예 #1
- a ⊕ b = 291 이고, 2 * a * b = 364 입니다. 둘 중 더 큰 값은 364 이므로 364를 return 합니다.
입출력 예 #2
- a ⊕ b = 912 이고, 2 * a * b = 364 입니다. 둘 중 더 큰 값은 912 이므로 912를 return 합니다.
나의 문제 풀이
1) 숫자를 문자열로 바꾸기 위해 Integer.toString()을 사용하였다
2) a, b를 문자열로 바꾼 다음에 문자열을 합쳤다
3) 합친 문자열을 다시 int 로 바꾸기 위해 Integer.parseInt()를 사용하였다
4) 숫자로 바꾼 abint와 계산식을 비교해서 큰 수가 나오게 하기 위해 if 조건식을 작성하였다.
class Solution {
public int solution(int a, int b) {
int answer = 0;
String astr = Integer.toString(a);
String bstr = Integer.toString(b);
String abstr = astr + bstr;
int abint = Integer.parseInt(abstr);
if(abint > 2 * a * b){
answer = abint;
}
else{
answer = 2 * a * b;
}
return answer;
}
}
'코드문제풀이 > JAVA' 카테고리의 다른 글
[자바] 문자열 섞기 (0) | 2023.07.05 |
---|---|
[자바] n보다 커질 때까지... (0) | 2023.07.04 |
[자바] 덧셈식 출력하기 (0) | 2023.07.03 |
[자바] n번째 원소까지 (0) | 2023.07.03 |
[자바]길이에 따른 연산 (0) | 2023.07.03 |