No Rules Rules

주사위 세개 (feat. 백준, 2480번) 본문

생활/코테

주사위 세개 (feat. 백준, 2480번)

개발하는 완두콩 2022. 8. 9. 22:24
728x90
반응형

주사위 세개
https://www.acmicpc.net/problem/2480

 

2480번: 주사위 세개

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.  같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.  같은 눈이 2개

www.acmicpc.net

 

반응형

 

// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
using namespace std;
int main() {
	ios::sync_with_stdio(false), cin.tie(NULL);
	register int ans = 0, max_count = 0, dice[7] = { 0 };
	for (register int i = 0, v; i < 3; ++i)
		cin >> v, ++dice[v], max_count = max(max_count, dice[v]);
	for (register int i = 6; i >= 1; --i)
		if (dice[i] == max_count) {
			if (max_count == 1)
				cout << i * 100 << "\n";
			else if (max_count == 2)
				cout << 1000 + i * 100 << "\n";
			else
				cout << 10000 + i * 1000 << "\n";
			break;
		}
	return 0;
}
// *&)*@*
  1. 1번부터 6번까지 주사위 번호에 대한 1차원 배열을 생성한 뒤, 해당 번호에 +1씩 증가시켜 줍니다. 또한 동일한 주사위 번호가 최대 1개인지 2개인지 3개인지를 max_count에 기록합니다.
  2. 배열의 마지막부터 처음 순서로 반복문을 돌면서 1차원 배열의 주사위 번호가 max_count와 같다면, 그 값이 1개인지 2개인지 3개인지에 따라 출력을 달리합니다.
  3. 배열의 마지막부터 처음 순서로 반복문을 돌리는 이유는 max_count가 1인 경우, 가장 큰 주사위 번호에 대한 연산이 이루어져야 하기 때문입니다.
728x90
반응형
Comments