코딩테스트 문제/백준-자바

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

유호야 2022. 8. 2. 18:11
반응형

이것 역시 새로운 문제 추가

왜 자꾸 안돼나 했더니 역시......

답은 문제에 있다고

하나씩 주사위 값을 입력하는 게 아니라 한 줄에 띄어쓰기와 함께 주어진다고 되어 있었다 
그래서 String 값으로 받고 substring 메서드를 이용해서 자르고 Integer.parseInt로 값을 int로 변경하는 과정까지 포함해야 했다. 

import java.util.*;

class Main {
    public static void main(String args[]){
     
        Scanner scn = new Scanner(System.in);
        
        String dice = scn.nextLine();
        int a = Integer.parseInt(dice.substring(0, 1));
        int b = Integer.parseInt(dice.substring(2, 3));
        int c = Integer.parseInt(dice.substring(4));

        int prize = 0;
        
        //같은 눈이 세 개 나오는 경우 : 10,000원+(같은 눈)×1,000  
        if(a==b && b==c) {
            prize = 10000+a*1000; 
        }
        
        //두 개가 같은 눈인 경우 : 1,000원+(같은 눈)×100
        if((a==b && b!=c) || (a==c && b!=c) || (b==c && a!=c)){
            if(a==b) {
                prize = 1000+a*100;
            } else if(a==c) {
                prize = 1000+a*100;
            } else if(b==c) {
                prize = 1000+b*100;
            }
        }
        
        //모두 다른 눈인 경우 : (그 중 가장 큰 눈)×100
        if(a!=b && b!=c && a!=c) {
            int max = a;
            if(max<b && b>c) {
                max = b;
            } else if(max<c && c>b) {
                max = c;
            }
            prize = max*100;
        }
        
        System.out.println(prize);
    }
}

 

모두 다른 눈에서 좀 헷갈렸는데 
뭔가 더 간단하게 만들 수 있을 것 같은 기분이기는 하다.

반응형