문제 설명
연산 +는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
- 12 + 3 = 123
- 3 + 12 = 312
양의 정수 a와 b가 주어졌을 때, a + b와 b + a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 <= a, b < 10,000
입출력 예
a | b | result |
9 | 91 | 991 |
89 | 8 | 898 |
class Solution {
public int solution(int a, int b) {
String s1 = Integer.toString(a);
String s2 = Integer.toString(b);
String s11 = s1 + s2;
String s22 = s2 + s1;
int answer = Math.max(Integer.parseInt(s11), Integer.parseInt(s22));
return answer;
}
}
각 정수형을 Integer.toString을 통해 문자열로 만들어줍니다. 문자열끼리의 덧셈은 문제에서 제시한 것처럼, 앞뒤로 다른 문자열을 붙이기 수월하므로 형변환을 시도했습니다. 이렇게 변환한 문자열끼리 앞뒤로 바꾸어 붙여봅니다. Math 클래스의 max 메소드로 앞뒤로 붙인 문자열 중 더 큰 수를 골랐습니다. 이 과정에서, 변수는 현재 문자열 형태이므로 올바른 비교를 할 수 없습니다. 따라서 Integer.parseInt로 문자열을 다시 정수형으로 변경하여 비교했습니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] n의 배수 (0) | 2023.04.27 |
---|---|
[프로그래머스 코딩테스트] 두 수의 연산값 비교하기(Java) (0) | 2023.04.27 |
[프로그래머스 코딩테스트] 문자열 곱하기(Java) (0) | 2023.04.27 |
[프로그래머스 코딩테스트] 문자 리스트를 문자열로 반환하기(Java) (0) | 2023.04.27 |
[프로그래머스 코딩테스트] 문자열 겹쳐쓰기(Java) (0) | 2023.04.26 |