ALGORITHM/코딩 기초 트레이닝

[프로그래머스]두 수의 연산값 비

jki09871 2024. 7. 29. 16:41

 

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

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 합니다.

 ----------------------------------------------------------------------------------
 class Solution {
    public int solution(int a, int b) {
        int answer = 0;
    
        String c = a + "" + b;
        int parseInt = Integer.parseInt(c);
        
        if(parseInt >= 2 * a * b){
            answer = parseInt;
            
        } else {
            answer = 2 * a * b;
        }
        return answer;
    }
}

설명

  1. Integer.parseInt()로 변수 C에 담겨있는 String타입의 숫자들을 int 타입으로 바꿔준다.
  2. if조건문을 통해 비교 휴 answer에 담아준다.

중요코드

  • Integer.parseInt()를 통해 String타입에 숫자들을 int타입으로 바꿔주는게 포인트이다.

실행결과

정확성 테스트
테스트 1 통과 (10.46ms, 84.5MB)
테스트 2 통과 (6.95ms, 73.3MB)
테스트 3 통과 (9.45ms, 68.5MB)
테스트 4 통과 (9.63ms, 78.7MB)
테스트 5 통과 (8.79ms, 76.8MB)
테스트 6 통과 (10.68ms, 77.1MB)
테스트 7 통과 (8.51ms, 79.1MB)
테스트 8 통과 (7.90ms, 71.3MB)
테스트 9 통과 (8.36ms, 76.4MB)
테스트 10 통과 (7.51ms, 77.5MB)
테스트 11 통과 (6.91ms, 76.7MB)
테스트 12 통과 (10.56ms, 70.3MB)
테스트 13 통과 (8.41ms, 69.7MB)
테스트 14 통과 (8.91ms, 76.3MB)
테스트 15 통과 (6.99ms, 86.6MB)
테스트 16 통과 (7.10ms, 78.6MB)
테스트 17 통과 (9.97ms, 86.2MB)
테스트 18 통과 (8.60ms, 75.1MB)
테스트 19 통과 (7.22ms, 73.7MB)
테스트 20 통과 (8.12ms, 77.3MB)
테스트 21 통과 (8.72ms, 75.2MB)
테스트 22 통과 (7.73ms, 77.4MB)
테스트 23 통과 (7.22ms, 78.4MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0