코딩테스트 연습 - 최빈값 구하기
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array 가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. 제한사항 입출력 예 입출력 예 설명 입출력 예 #1 [1, 2, 3, 3, 3, 4]에서 1은 1개 2는 1개 3은 3개 4는 1개로 최빈값은 3입니다.


#include <string>
#include <vector>
using namespace std;
int solution(vector<int> array) {
int answer = 0;
int arrayLength = array.size();
int maxCount[1000] = {};
for(int i = 0; i < arrayLength; i++)
{
maxCount[array[i]]++;
}
int maxCountIndex = 0;
int maxCountValue = 0;
for(int i = 0; i < 1000; i++)
{
if(maxCount[i] > maxCountValue)
{
maxCountValue = maxCount[i];
maxCountIndex = i;
}
}
answer = maxCountIndex;
for(int i = maxCountIndex + 1; i < 1000; i++)
{
if(maxCount[i] == maxCountValue)
{
answer = -1;
break;
}
}
return answer;
}
🤔 다시 풀어보기
이전에 풀었던 통계학 문제에서 코드를 그대로 썼더니 통과했다. 조금 더 효율적으로 다시 풀어봐야겠다…
https://chicken-scratch.tistory.com/126
Uploaded by N2T