백준 알고리즘 문제 2480 주사위 세개
문제
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개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.
입력
첫째 줄에 3개의 눈이 빈 칸을 사이에 두고 각각 주어진다.
출력
첫째 줄에 게임의 상금을 출력한다.

코드
#include <stdio.h>
int main(void) {
int dice[3];
int i, max = 0, prize = 0;
scanf("%d %d %d", &dice[0], &dice[1], &dice[2]);
if (dice[0] == dice[1] && dice[1] == dice[2])
prize = 10000 + dice[0] * 1000;
else if (dice[0] == dice[1] || dice[0] == dice[2])
prize = 1000 + dice[0] * 100;
else if (dice[1] == dice[2])
prize = 1000 + dice[1] * 100;
else {
for (i = 0; i < 3; i++) {
if (dice[i] > max)
max = dice[i];
}
prize = max * 100;
}
printf("%d", prize);
return 0;
}
메모
자꾸 오답이 뜨길래 왜 그런가 했더니
if문의 조건을 (dice[0] == dice[1] == dice[2])로 입력해서였다..
&& 연산자를 사용해서 수정하니 통과!
https://www.acmicpc.net/problem/2480
2480번: 주사위 세개
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개
www.acmicpc.net
'BAEK JOON ㅡ C' 카테고리의 다른 글
| [BAEK JOON/C] 10951 ㅡ A + B - 4 (0) | 2022.05.16 |
|---|---|
| [BAEK JOON/C] 10952 ㅡ A + B - 5 (0) | 2022.05.16 |
| [BAEK JOON/C] 10871 ㅡ X보다 작은 수 (0) | 2022.05.14 |
| [BAEKJOON/C] 10171 ㅡ 고양이 (0) | 2022.05.09 |
| [BAEKJOON/C] 2557 ㅡ Hello World! (0) | 2022.05.09 |