Algorithm/C++ BOJ

C++) [BOJ] 2480 주사위 세개

HSH12345 2023. 3. 1. 01:00

2480번: 주사위 세개 (acmicpc.net)

 

2480번: 주사위 세개

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

www.acmicpc.net

 

#include<iostream>;
#include<vector>;
#include<algorithm>;

using namespace std;

int main() 
{
	int tmp, ans;
	int cnt = 1;
	vector<int> v;	

	for (int i = 0; i < 3; i++) 
	{
		int a;
		cin >> a;
		v.push_back(a);
	}

	for (int i = 0; i < 3; i++)
	{		
		int cnt2 = 0;
		for (int j = 0; j < 3; j++) 
		{
			if (v[i] == v[j]) 
			{
				cnt2++;
			}

			if (cnt < cnt2) 
			{
				cnt = cnt2; 
				tmp = v[i];
			}
		}
	}

	if (cnt == 3) 
	{
		ans = 10000 + (tmp * 1000);
	}
	else if (cnt == 2) 
	{
		ans = 1000 + (tmp * 100);
	}
	else 
	{
		ans = *max_element(v.begin(), v.end()) * 100;
	}

	cout << ans << "\n";
}

 

 간단하게 2중 반복문을 사용하여 같은 수를 세는 방식으로 문제를 해결하였다.

*max_element(v.begin(), v.end())  : 백터의 최대값을 구하는 함수