코딩테스트 - 프로그래머스/Lv. 0

[14] JAVA 더 크게 합치기

유혁스쿨 2023. 11. 15. 14:21
728x90
반응형

문제설명

연산 는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다.

예를들면 다음과 같습니다.

  • 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

입/출력 예 #1

  • a b = 991 이고, b a = 919 입니다. 둘 중 더 큰 값은 991 이므로 991을 return 합니다.

입/출력 예 #2

  • a ⊕ b = 898 이고, b a = 889 입니다. 둘 중 더 큰 값은 898 이므로 898을 return 합니다.

[제출 답안]

class Solution {
    public int solution(int a, int b) {
        String strA = String.valueOf(a);
        String strB = String.valueOf(b);
        return Integer.max(Integer.parseInt(strA + strB), Integer.parseInt(strB + strA));
        
    }
}

 

 

[풀이과정] 

Integer.max()를 활용하여 최대값인 값을 반환하도록 처리하였다.

 

[리팩토링]

return Integer.max(Integer.parseInt(a + "" + b), Integer.parseInt(b + "" + a));

위와 같이 한줄로 처리가 가능하며, int를 String으로 변환하는 불필요한 파싱을 하지 않는다.

728x90
반응형