728x90
문제
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.
- 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.
- 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.
- 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.
3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.
예제 입력
3 3 6
예제 출력
1300
풀이
#include <iostream>
using namespace std;
int main() {
int a, b, c; // 주사위 숫자
cin >> a >> b >> c;
int money = 0; // 상금
if (a == b && b == c) { // 모두 같은 눈 일 때
money = 10000 + a * 1000;
}
else if (a == b || a == c) { // a 가 두 개일때
money = 1000 + a * 100;
}
else if (b == c || b == a) { b 가 두 개일때
money = 1000 + b * 100;
}
else if (c == a || c == b) { c 가 두 개일때
money = 1000 + c * 100;
}
else if (a != b && b != c && a != c) { // 전부 다를 때
int temp;
if (a > b) { // 가장 큰 눈을 찾기 위한 과정
if (a > c) {
temp = a;
}
else temp = c;
}
else if (b > c) {
if (b > a) {
temp = b;
}
else temp = a;
}
else if (c > a) {
if (c > b) {
temp = c;
}
else temp = b;
}
money = temp * 100; // 상금에는 가장 큰 눈 * 100
}
else return 0;
cout << money;
}
조건문을 사용하여 모두 같은 눈, 2개가 같은 눈인 상황을 걸러내고,
모두 눈이 다를 경우에는 a, b, c 를 크기 비교하여 가장 큰 눈을 구하여 상금을 계산하면 된다.
728x90
'백준 알고리즘 단계별 풀이 (문제 수) > 조건문 (7)' 카테고리의 다른 글
[C++] 오븐 시계 : 2525번 (0) | 2022.07.07 |
---|---|
[C++] 알람 시계 : 2884번 (0) | 2022.07.07 |
[C++] 사분면 고르기 : 14681번 (0) | 2022.07.07 |
[C++] 윤년 : 2753번 (0) | 2022.07.07 |
[C++] 시험 성적 : 9498번 (0) | 2022.07.07 |