pts119   6년 전

안녕하세요 고수님들..

제가 이 문제를 최대힙 방식을 통해서 구현을 해 봤는데요,

어디가 틀렸는지 도통 모르겠습니다 ㅜㅜ

한번 조언 부탁드리겠습니다~!!

chogahui05   6년 전

최대 힙이라..

어떤 기준으로 정렬하셨나요? 이거 순서가 있어서요. 위상 정렬로 풀긴 풀어야 하는데요.

어떤 사람 a를 세웠습니다. 그러면 a 뒤에 서야 하는 사람들은

들어오는 간선이 하나씩 지워지나요?

pts119   6년 전

아 위상정렬로 풀어야 하는건가요 생각도 못해봤어요.. ㅎ

제가 푼 방식은 a, b 학생이 있을 때, a가 b보다 앞에 있다면 a의 우선순위를 1 증가시키게 했습니다.

그리고 후에 또 a가 다른 학생과 비교를 해서 또 a가 다른 학생보다 앞에 서 있게 되면 우선순위를 또 1 증가시키게 했구요,

그래서 우선순위가 매겨진 학생들을 최대 힙을 이용해서 내림차순 정렬을 시킨 것입니다..

한마디로 말씀하신것 처럼 간선으로 연결된 LinkedList개념으로 풀지를 않았어요 ㅎ

chogahui05   6년 전

아.. 그렇군요.

근데 그렇게 풀면 이런 TC에서는 어떻게 나오나요?

pts119   6년 전

결과가 개판으로 나옵니다 ㅋㅋㅋ

제가 잘못생각한것 같으니 위상정렬로 해서 다시 풀어보겠습니다 ㅎ

pts119   6년 전

감사합니다. 도움 주신 덕분에 해결했습니다.

위상정렬과 스택을 하드코딩으로 구현 해 보아서 결국 맞았습니다 ㅋ 덕분에 공부 많이 되었습니다

다시 한번 감사드려요~!

댓글을 작성하려면 로그인해야 합니다.