작성
·
346
0
안녕하세요. 항상 강의 잘 듣고 있습니다.
5-A 문제를 map
과 pq
를 사용해서 풀이해봤습니다.
제가 생각했던 풀이는 아래와 같습니다.
d
를 기준으로 받을 수 있는 p
를 내림차순하여 그룹핑했습니다.
d
마다의 최대값만을 pq.top()
를 통해 받아가며 최종 값을 계산하도록 했습니다.
예제의 경우는 통과하나 최종 결과는 실패입니다 ㅠ. 제가 고민한 부분에서 어떤 오류가 있는지 궁금하여 질문드리게 되었습니다.
제 코드입니다.
http://boj.kr/ca47ec856ce04d98be7c9cb6c6571304
매번 감사드립니다.
답변 1
1
안녕하세요 잼코님 ㅎㅎ
잼코님 코드를 보시면 day의 중복된 것을 제거하고 그 day 중에서 가장 pay가 높은 것을 고른다는 로직인 것 같은데요.
day가 같은 게 많이 들어오는 것을 해결할 수 있을까요?
반례는 다음과 같습니다.
3
20 2
20 2
20 2
답이 40이 나오는게 맞겠죠?
2일안에 20얻는거 2번 하면 되니까요.
잼코님의 코드는 20이 나옵니다.
또한 중복된 것을 제거한다 라고 했을 때 SORT를 먼저 하고 하셔야 합니다.
해당부분은 교안 참고 부탁드립니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.