1713번 - 후보 추천하기
다섯 가지 문제 조건에 모두 충족하게 구현한 것 같은데 계속 틀리네요 ㅠ ㅠ
구현 방식
1. 학생번호, 추천 수, 게시 순서를 가진 Student 객체를 만들어 추천이 들어올 때 마다 우선순위 큐에 넣음
3. 큐에 추천받은 학생이 이미 있다면 해당 번호의 학생의 like를 증가한 뒤, 다시 추천받음 => continue loop;
4. 큐 사이즈가 n보다 같거나 크면(자리가 없으면) => pq.poll();
(우선순위 큐는 like 수가 작은 원소 부터 나오게 되며, like가 같다면 order가 낮은 순으로 나옴)
저도 비슷한 경우를 겪었는데
우선순위 큐에 삽입할 때 정렬이 되는 것 같습니다.
47번 줄에 foreach문으로 순회하면서 수정해 봤자 처음 큐에 삽입할 때 정해진 데이터 기준의 우선순위로 큐에서 나오는 것 같습니다.
그래서 저는 큐에서 다 뺀다음 다시 수정해서 큐에 넣었습니다.
입력 :
3142 1 4 3 5 6 2 7 2 100 100 54 54 50
답 :
50 54 100
덕분에 해결했습니다 ! 감사합니다 :)
댓글을 작성하려면 로그인해야 합니다.
goakgoak95 3년 전
다섯 가지 문제 조건에 모두 충족하게 구현한 것 같은데 계속 틀리네요 ㅠ ㅠ
구현 방식
1. 학생번호, 추천 수, 게시 순서를 가진 Student 객체를 만들어 추천이 들어올 때 마다 우선순위 큐에 넣음
3. 큐에 추천받은 학생이 이미 있다면 해당 번호의 학생의 like를 증가한 뒤, 다시 추천받음 => continue loop;
4. 큐 사이즈가 n보다 같거나 크면(자리가 없으면) => pq.poll();
(우선순위 큐는 like 수가 작은 원소 부터 나오게 되며, like가 같다면 order가 낮은 순으로 나옴)