본문 바로가기

BAEK JOON ㅡ C

[BAEKJOON/C] 2480 ㅡ 주사위 세개



백준 알고리즘 문제 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개의 눈이 빈 칸을 사이에 두고 각각 주어진다.

출력

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


코드

#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