알고리즘/문제풀이 - 백준

[백준 2480번] 주사위 세개(JAVA)

DJDU 2022. 10. 25. 00:31


문제 풀러가기✍🏻


시행착오(Trial&Error)

분기를 수정하는 과정을 거쳤다.

풀이(Solution)

조건문 문제 답게 분기를 어떻게 할 것인가를 파악하는 것이 핵심이다. 즉, '분류'를 잘 해야 한다.
같은 눈이 3개인 경우, 2개인 경우, 모두 다를 경우를 어떻게 분기할지 잘 생각해야 한다.

코드(Code)

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] dice = new int[3];
        for(int i = 0 ; i < dice.length; i++) {
            dice[i] = sc.nextInt();
        }
        // 1. 같은 눈이 3개 나오는 경우
        if(dice[0] == dice[1]) {
            if(dice[0] == dice[2]) {
                System.out.println(10000 + (dice[0] * 1000));
            // 2. 같은 눈이 2개 나오는 경우
            } else if(dice[1] != dice[2]) {
                System.out.println(1000 + (dice[0] * 100));
            }
        } else if(dice[0] != dice[1]) {
            // 2. 같은 눈이 2개 나오는 경우
            if((dice[0] == dice[2]) || (dice[1] == dice[2])) {
                System.out.println(1000 + (dice[2] * 100));
            } else {
            // 3. 모두 다른 눈이 나오는 경우
            // (그 중 가장 큰 눈)×100원
                int max = dice[0];
                for(int i = 1; i < dice.length; i++) {
                    if(max < dice[i]) {
                        max = dice[i];
                    }
                }
                System.out.println(max * 100);
            }
        }
    }    
}