해결된 질문
작성
·
191
0
안녕하세요 강사님.
pair를 사용하지 않고 풀어보려고 했습니다.
TC는 통과하는데 틀리다고 나오네요.
피드백 가능할까요?
답변 1
0
안녕하세요 재윤님 ㅎㅎ
카운팅하는 mp, 맨첨을 나타내는 ch 다 잘짜셨는데요.
for(int i = 0; i < n; i++) {
if(ch.find(a[i]) == ch.end()) {
v.push_back(a[i]);
ch[a[i]]++;
}
}
sort(v.begin(), v.end(), cmp);
이 코드를 보면요 애초에 v에는 처음 온 순서대로 담기게 됩니다.
1 1 1 2 2 2 3 3 3이라면
1, 2, 3 이렇게 담기겠죠?
그러나 갑자기 여기서 sort를 합니다.
이 sort는 카운팅을 따져서 빈도가 높은 순데로 정렬을 하죠.
자 근데 여기서
빈도가 같다면 먼저 온게 앞에 두는 로직은 어디있나요?
그래서 틀린 것 같습니다. ㅎㅎ
감사합니다.