728x90
300x250
#include <string>
#include <vector>
using namespace std;
int solution(vector<int> array) {
int answer = 1, nMax = 0;
int nCount[1000]{ 0 };
if (array.size() == 1)
return array[0];
else
{
for (int i = 0; i < array.size(); i++)
{
nCount[array[i]]++;
if (nMax < nCount[array[i]])
{
nMax = nCount[array[i]]; // 몇번 나왔나
answer = array[i]; // 최빈값
}
else if(nMax == nCount[array[i]])
answer = -1;
}
}
return answer;
}
와..
이번 문제는 문제를 잘못파악하고 삽질을 너무해서
푸는데 좀 걸렸다..
최빈값을 구해야하는데 최빈값이 몇번나왔냐로 봐가지고
계속 답이 틀려서 삽질을 했다..
풀이는 조건에 맥스가 1000개였기 때문에
1000개의 배열을 만들고 vector 숫자 값을 카운트를 올려
몇번 나왔는지 저장했고,
nMax에 제일 빈도수가 높은 값을 넣어주면서 for문을 돌렸다.
그리고 확실하진 않은데,
숫자는 1,2,3,4,5,6 이런식으로 순차적으로 커진다는 기준으로
else if 부분에서 카운트를 체크해 -1 값을 리턴해줬다.
이게 맞는지는 모르겠다.
나는 3, 3, 1, 2, 3, 3 뭐 이런식으로도
값이 들어갈 경우도 고려해서 짜봤는데,
잘안돼서 그냥 순차적으로 커지는건가? 라는 생각으로 짰더니
됐다..
여튼 오랜만에 고생좀 한 것 같다.
728x90
반응형
'C, C++ > 코딩테스트 입문 난이도' 카테고리의 다른 글
프로그래머스 코딩테스트 입문 난이도 - OX퀴즈 (0) | 2023.06.29 |
---|---|
프로그래머스 코딩테스트 입문 난이도 - 문자열안에 문자열 (0) | 2023.06.27 |
프로그래머스 코딩테스트 입문 난이도 - 제곱수 판별하기 (0) | 2023.06.27 |
프로그래머스 코딩테스트 입문 난이도 - 세균 증식 (0) | 2023.06.27 |
프로그래머스 코딩테스트 입문 난이도 - 문자열 정렬하기(2) (0) | 2023.06.27 |