응답 기록에서 가장 많이 등장한 후보를 골라요. 최다 등장 횟수가 같으면 마지막 응답이 더 나중에 기록된 후보를 골라요. 응답이 없으면 0을 반환해요.
int solution(vector<int> votes, int kinds)가 요구한 값을 반환하도록 빈칸을 채워 주세요.
매개변수와 반환값
votes의 길이는 0100이에요. kinds는 120, 각 응답의 후보 번호는 1~kinds예요. 반환값은 선택한 후보 번호 또는 응답이 없을 때 0이에요.
예시
votes={1, 2, 1, 2}, kinds=3이면2를 반환해요. 후보 1과 2가 두 번씩 등장하지만 후보 2의 마지막 응답이 더 뒤에 있어요.votes={3, 1, 3, 2, 1}, kinds=3이면1를 반환해요. 후보 1과 3이 두 번씩 등장하며 후보 1의 마지막 응답이 더 뒤에 있어요.
실행용 입출력
첫 줄에 응답 수 n kinds, 다음 줄에 후보 번호 n개를 입력해요. n=0이면 후보 번호 줄은 없어도 돼요. main은 입력을 매개변수로 바꾸고 반환값을 출력하는 채점 하네스예요. 풀이 대상은 solution과 제공된 보조 함수의 빈칸이에요.
예시 입력
4 3 1 2 1 2
예상 결과
2
예시 입력
5 3 3 1 3 2 1
예상 결과
1
핵심 개념
counting-aggregation: 항목별 횟수와 최종 집계를 구분해요.conditionals: 조건과 정확한 경계를 판별해요.stl-vector: 벡터의 크기와 인덱스로 매개변수를 읽어요.