관리 메뉴

Kim's Programming

1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 본문

SW ExpertAcademy/D2

1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기

Programmer. 2018. 11. 30. 22:59

1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기

문제출처: https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13zo1KAAACFAYh&categoryId=AV13zo1KAAACFAYh&categoryType=CODE




풀이 방법


각 케이스마다 점수가 등장할 때 마다 그 점수에 해당하는 배열칸에 숫자를 증가시킨 뒤에 배열 중에서 가장 큰 숫자를 찾아내어 답을 구한다. 


<코드>


#include <iostream>

int main()
{
	int n{ 0 };
	std::cin >> n;

	for (int testCase = 1; testCase <= n; testCase++)
	{
		int caseNumber{0};
		std::cin >> caseNumber;
		int dataArray[100 + 1];
		for (int i = 0; i<101; i++) dataArray[i] = 0;

		int input;
		for (int i = 0; i<1000; i++)
		{
			std::cin >> input;
			dataArray[input] += 1;
		}

		int maxValue{ 0 };
		int maxIndex{ 0 };

		for (int i = 0; i<101; i++)
		{
			if (dataArray[i] >= maxValue)
			{
				maxIndex = i;
				maxValue = dataArray[i];
			}
		}

		std::cout << "#" << testCase << ' ' << maxIndex << "\n";
	}

	return 0;
}


'SW ExpertAcademy > D2' 카테고리의 다른 글

1940. 가랏! RC카!  (0) 2018.12.01
1928. Base64 Decoder  (0) 2018.12.01
1288. 새로운 불면증 치료법  (0) 2018.12.01
1285. 아름이의 돌 던지기  (0) 2018.11.30
1284. 수도 요금 경쟁  (0) 2018.11.30