Java
[코딩 기초 문제] 더 크게 합치기
Song hyun
2025. 1. 3. 12:53
728x90
반응형
[코딩 기초 문제] 더 크게 합치기
문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.12 ⊕ 3 = 1233 ⊕ 12 = 312양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.
⊕는 두 숫자를 붙여 또 다른 정수로 만드는 연산이다. 숫자 1과 숫자 34가 있다면 134라는 새로운 수를 만드는 식이다.
해당 연산을 사용해 A+B, B+A 중 어느 것이 더 큰지를 비교하고 반환하는 문제이다.
해당 문제는 수학적인 접근이 아닌 문자->숫자로 변환하는 방식으로 접근하면 더욱 쉽게 풀 수 있다. (Integer.parseInt)
class Solution {
public int solution(int a, int b) {
int answer = 0;
int result1 = Integer.parseInt(a+""+b);
int result2 = Integer.parseInt(b+""+a);
answer = result1>result2?result1:result2;
return answer;
}
}
(1) 숫자 a와 b 사이에 ""를 더하면 a+b 형태의 문자열이 된다. (ex: 1+""+23="123")
(2) 해당 문자열을 Integer.parseInt() 함수를 사용하면 그대로 정수로 형변환 할 수 있다. (ex: "123"->123)
(3) 삼항식을 통해 더욱 큰 쪽을 반환한다.
다른 분들의 풀이를 보며 공부했는데, Math.max를 통해 둘 중 큰 값을 바로 반환하는 방식도 있었다. 다음에는 이 방식을 참고해서 문제를 풀어봐야겠다...
728x90
반응형