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에 해보기