IT/coding test

[Java] 백준 - 2480

돔녕 2025. 3. 25. 03:33

https://www.acmicpc.net/problem/2480

 

문제에 나온 그대로 풀이해보았다.

 

1. 같은 눈이 3개 나오는 경우

2. 같은 눈이 2개 나오는 경우 

  • 예를 들어, a, b, c가 있을 때,
  • a=b 이거나 a=c 인 경우 -> 같은 눈: a
  • b=c 인 경우 -> 같은 눈: b

3. 모두 다른 눈이 나오는 경우

  • a를 max로 두고 max, b, c 크기 비교 

 

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        
        if (a == b && a == c) {                            
            System.out.println(10000 + a * 1000);
        } else if(a == b || a == c) {  
            System.out.println(1000 + a * 100);
        } else if(b == c) {                      
            System.out.println(1000 + b * 100);
        } else {                                          
            int max = a;                                   
            if (max < b) max = b; 
            if (max < c) max = c;
            System.out.println(max * 100);
        }
        sc.close();
    }
}

 

개선이 가능한 부분

모두 다른 눈이 나오는 경우 -> 가장 큰 수 찾는 부분을 Math.max() 사용하여 가독성을 개선할 수 있음!

int max = a;                                   
if (max < b) max = b; 
if (max < c) max = c;

이 부분을

int max = Math.max(a, Math.max(b, c));

이렇게 변경해도 됨.

 

 

'IT > coding test' 카테고리의 다른 글

[Java] 백준 - 2525  (0) 2025.02.05
[Java] 백준 - 2884  (0) 2025.01.29
[Java] 백준 - 14681  (0) 2025.01.29
[Java] 백준 - 2753  (0) 2025.01.28
[Java] 백준 - 9498  (0) 2025.01.28