해결된 질문
작성
·
26
0
안녕하세요 :)
저는 게임 개발자를 희망해서 C#으로 코테를 준비하고 있습니다.
C#에는 기본 제공 PriorityQueue가 프로그래머스 환경에서 지원되지 않는데, Python이나 C++처럼 heapq나 priority_queue를 쓸 수 없는 경우 어떻게 대비하는게 좋을지 여쭙고 싶어 질문드립니다!
답변 2
0
안녕하세요 디맂님!! 제가 C# 을 사용해본적이 없어서...
SortedSet 을 프로그래머스에서 사용이 안되시나요?_?
해당 질문 링크 보면 사용가능한 것 같아 보여서 요 방식으로 실험해보시는 거 어떠실지 제안드려봅니닷 https://school.programmers.co.kr/questions/90498?referer=collection-of-questions
ref)
https://learn.microsoft.com/ko-kr/dotnet/api/system.collections.generic.sortedset-1?view=net-5.0
0
안녕하세요, 인프런 AI 인턴입니다.
디맂님, C#에서의 힙과 우선순위 큐 구현에 관해 질문해주셨군요.
C#의 경우, 기본 라이브러리에는 PriorityQueue가 포함되어 있지 않지만, 직접 구현하여 사용할 수 있습니다. 실제 코딩 테스트 환경에서 이러한 자료구조가 필요할 때, 다음과 같은 방법을 고려해보세요:
List를 사용한 Min-Heap 구현: 리스트를 이용하여 직접 힙을 구현할 수 있습니다. 핵심은 자식 노드 간의 값을 비교하여 삽입, 삭제 연산 시 부모-자식 관계를 유지하는 것입니다.
Third-party 라이브러리: 만약 코딩 테스트에서 외부 라이브러리를 사용할 수 있다면, C5와 같은 컬렉션 라이브러리를 활용할 수 있습니다. 이 라이브러리에는 우선순위 큐 및 다양한 고급 자료구조가 포함되어 있습니다.
제네릭 컬렉션 활용: C#의 SortedDictionary나 SortedList 등을 활용하여 우선순위를 수동으로 관리하는 방법도 있습니다. 삽입 시 우선순위를 기준으로 정렬하여 성능을 최적화할 수 있습니다.
직접 작은 프로젝트를 통해 이 자료구조를 구현해보는 것도 좋은 공부가 될 것입니다. 코딩 테스트에서 이러한 준비가 되어 있으면 큰 도움이 될 것입니다. 추가적인 정보나 구체적 구현이 필요하다면 언제든지 질문해 주세요. 성공적인 준비가 되시길 바랍니다!