티스토리 뷰

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

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
링크
Total
Today
Yesterday