현재

[Java][BaekJoon][2480]주사위 세개 본문

알고리즘/백준

[Java][BaekJoon][2480]주사위 세개

AAAge 2023. 9. 1. 19:18

<코드>

// 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.
// 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.
// 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.
// 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.  
// 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다.
// 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다.
// 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게 된다.
// 3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.
import java.util.*;

public class BaekJoon_Java_2480 {
    public static void main (String[]args){
        Scanner scn = new Scanner(System.in);
        // 어떻게 하면 최적의 조건을 찾을 수 있을까~
        int A = scn.nextInt();
        int B = scn.nextInt();
        int C = scn.nextInt();

        int result = 0;
        int max = 0;

        if ( A == B && B == C && C == A){ // 3개가 같을때
            result = 10000 + (A)*1000;
            System.out.println(result);
        }
        else if( (A == B && A != C && B != C)){ // 2개가 같을때
            result = 1000+(A)*100;
            System.out.println(result);
        }
        else if(( B == C && B != A && C != A)){ // 2개가 같을때
            result = 1000+(B)*100;
            System.out.println(result);
        }
        else if(( C == A && C != B && A != B)){ // 2개가 같을때
            result = 1000+(C)*100;
            System.out.println(result);
        }
        else if(( A != B && B != C && C != A)){ // 모두 다를때
            if ( A >= B && A >= C){
                max = A;
            }
            else if ( B >= A && B >= C){
                max = B;
            }
            else if ( C >= A && C >= B){
                max = C;
            }
            result = max*100;
            System.out.println(result);
            }
        }
    }

<주의점>

여러가지 상황을 분리해줘야 해서 약간 까다로웠다.

순서도 중요해서 순서가 안맞을 경우 다른 값이 출력되는 경우가 있어서 순서를 맞추었다.

 

<문제출처>

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

 

2480번: 주사위 세개

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.  같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.  같은 눈이 2개

www.acmicpc.net

 

'알고리즘 > 백준' 카테고리의 다른 글

[Java][BaekJoon][10950]A+B -3  (0) 2023.09.02
[Java][BaekJoon][2739] 구구단  (0) 2023.09.02
[Java][BaekJoon][2525]오븐 시계  (0) 2023.09.01
[Java][BaekJoob][2884] 알람 시계  (0) 2023.09.01
[Java][BaekJoon][2753]채점 현황  (0) 2023.09.01