[백준] 2480번

park jinwoo·2022년 12월 17일
0

백준

목록 보기
50/94

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

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

<script>
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    int dice1, dice2, dice3, reward;

    scanf("%d %d %d", &dice1, &dice2, &dice3);

    if (dice1 == dice2 && dice1 == dice3) {
    // 모든 주사위의 값이 똑같은 경우
        reward = 10000 + dice1 * 1000;
    }
    else if (dice1 == dice2 || dice1 == dice3 || dice2 == dice3) {
    // 주사위 2개의 값이 같은 경우
        if (dice1 == dice2) {
            reward = 1000 + dice1 * 100;
        }
        else if (dice1 == dice3) {
            reward = 1000 + dice3 * 100;
        }
        else {
            reward = 1000 + dice2 * 100;
        }
    }
    else {
    // 주사위의 값이 모드 다른 경우
        if (dice1 > dice2) {
            if (dice1 > dice3) {
                reward = dice1 * 100;
            }
            else {
                reward = dice3 * 100;
            }
        }
        else if (dice2 > dice1) {
            if (dice2 > dice3) {
                reward = dice2 * 100;
            }
            else {
                reward = dice3 * 100;
            }
        }
    }

    printf("%d", reward);

    return 0;
}
</script>

❗ 조건문을 바꾸면 코드를 더 간결하게 만들 수 있을거 같다.
22.12.18에 해보기

0개의 댓글