BAEKJOON/단계별로 풀어보기

[BOJ] 2480번 : 주사위 세개

말하는 알감자 2022. 7. 25. 10:36

문제 링크 : https://www.acmicpc.net/problem/2480

🔒 문제

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.

  1. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.
  2. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.
  3. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×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개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.

⌨ 입력

첫째 줄에 3개의 눈이 빈칸을 사이에 두고 각각 주어진다.

🖨 출력

첫째 줄에 게임의 상금을 출력 한다.

📚 예제

Ex1)

3 3 6

1300

Ex2)

2 2 2

120000

Ex3)

6 2 5

600

🔑 python 코드

import sys
input = sys.stdin.readline

a, b, c = map(int, input().split())
reward = 0

if(a == b and b == c) :
    reward = 10000 + a * 1000
elif (a != b and b != c and c != a):
    reward = max(a, b, c) * 100
elif (a == b or a == c):
    reward = 1000 + a * 100
elif (b == c):
    reward = 1000 + b * 100

print(reward)

🔑 java 코드

🔑 c언어 코드

#include<stdio.h>

int main()
{
    int x, y, z;
    int max;
    scanf("%d %d %d", &x, &y, &z);

    if ((x == y) && (y == z))
        printf("%d", 10000 + 1000 * x);
    else if (x == y)
        printf("%d", 1000 + 100 * x);
    else if(y == z)
        printf("%d", 1000 + 100 * y);
    else if(z == x)
        printf("%d", 1000 + 100 * x);
    else
    {
        max = x;
        if (max < y)
            max = y;
        if (max < z)
            max = z;
        printf("%d", 100 * max);
    }
    return 0;
}