프로그래밍/코딩테스트

[프로그래머스] 최빈값 구하기

Nessie! 2023. 3. 8. 21:39

https://school.programmers.co.kr/learn/courses/30/lessons/120812?language=cpp 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

int solution(vector<int> array) 
{
    int answer = 0;
    int answerCnt = 0;

    int check = 0;

    unordered_map<int, int> datas;

    for (int i = 0; i < array.size(); i++)
        datas[array[i]]++;

    for (auto data : datas)
        answerCnt = max(answerCnt, data.second);

    for (auto data : datas)
    {
        if (data.second == answerCnt)
        {
            answer = data.first;
            check++;
        }
    }

    if (check > 1)
        return -1;
    else
        return answer;
}

 

풀이를 완료한 후 다른 사람의 풀이를 봤는데 많은 사람이 map을 이용한 것 같았다