ALGORITHM/코딩 기초 트레이닝

[프로그래머스]더 크게 합치기

jki09871 2024. 7. 26. 19:01

 

아무리 쉬운 코드도 리뷰 합니다.
 문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 
예를 들면 다음과 같습니다.

12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 
solution 함수를 완성해 주세요.

단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.

제한사항
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) {
    int answer;
    String result1 = a + "" + b ;
    String result2 = b + "" + a ;

    int parseInt = Integer.parseInt(result1);
    Integer integer = Integer.valueOf(result2);

    if (parseInt > integer){
        answer = parseInt;
    }else {
        answer = integer;
    }
    // answer = parseInt > integer ? parseInt : integer (이렇게도 쓸 수 있음)
    return answer;
  }
}

설명

  1. Integer.parseInt(), Integer.valueO()를 이용해 String타입에 값을 int ,Integer 타입을 변환 했다.
  2. if반복문에 parseInt 변수와integer에 값을 비교 하여 더 큰 값을 answer 변수에 저장 하였다.
  3. parseInt()는 int타입으 변환해주고, valueOf()는 Integer타입으로 변환해준다.(적절하게 잘 사용하자)

중요코드

  • Integer.parseInt() , Integer.valueO() 두개를 적절하게 잘 사용하는것이 좋을 것 같다.

실행결과

정확성 테스트
테스트 1 통과 (9.79ms, 84.3MB)
테스트 2 통과 (8.59ms, 79.4MB)
테스트 3 통과 (11.63ms, 81.2MB)
테스트 4 통과 (8.25ms, 78.6MB)
테스트 5 통과 (7.22ms, 74.5MB)
테스트 6 통과 (10.22ms, 75.6MB)
테스트 7 통과 (8.49ms, 73.2MB)
테스트 8 통과 (7.19ms, 74.9MB)
테스트 9 통과 (8.40ms, 76.5MB)
테스트 10 통과 (8.08ms, 79.4MB)
테스트 11 통과 (8.38ms, 77.8MB)
테스트 12 통과 (8.11ms, 67.1MB)
테스트 13 통과 (7.21ms, 71MB)
테스트 14 통과 (10.27ms, 76.2MB)
테스트 15 통과 (10.12ms, 77.4MB)
테스트 16 통과 (8.05ms, 78.4MB)
테스트 17 통과 (7.84ms, 77.3MB)
테스트 18 통과 (9.00ms, 75.2MB)
테스트 19 통과 (7.60ms, 77.3MB)
테스트 20 통과 (8.80ms, 77.3MB)
테스트 21 통과 (8.13ms, 77.6MB)
테스트 22 통과 (10.11ms, 75.3MB)
테스트 23 통과 (7.28ms, 78.5MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0