C#에서 Heap(+) 우선순위큐)
안녕하세요 :)
저는 게임 개발자를 희망해서 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 등을 활용하여 우선순위를 수동으로 관리하는 방법도 있습니다. 삽입 시 우선순위를 기준으로 정렬하여 성능을 최적화할 수 있습니다.
직접 작은 프로젝트를 통해 이 자료구조를 구현해보는 것도 좋은 공부가 될 것입니다. 코딩 테스트에서 이러한 준비가 되어 있으면 큰 도움이 될 것입니다. 추가적인 정보나 구체적 구현이 필요하다면 언제든지 질문해 주세요. 성공적인 준비가 되시길 바랍니다!
수강평 이벤트
0
59
2
코딩테스트 처음인데 이런 공부방법이어도 괜찮을까요
0
109
2
3-3 정렬-2 선택정렬 로직
0
54
2
링크드 리스트 끝에서 k번째 값 출력하기
0
62
2
LinkedList 과제 Fast, slow 포인터
0
58
2
투포인터 시간복잡도
0
65
2
수강평 작성 후 자료
0
62
2
수업교재 링크 오류
2
120
2
프로그래머스에서 제출 후 채점시 틀림ㅠ
0
155
2
1-10 알고리즘 더 풀어보기(2) 질문 있습니다
0
81
2
문제 풀이 방식 관련 질문입니다!
0
98
2
1-5 알고리즘과 친해지기 (2) - 최빈값찾기 질문 있습니다
0
101
2
수업자료 pdf 받고싶습니다
0
118
2
강의 자료 오류 수정
0
81
1
2-10 더하거나 빼거나 관련 질문입니다
0
68
2
3-8 해쉬 -2
0
51
2
Linked List Element Delete Explanation Problem
0
73
2
강의3-4 스택 탑 문제
0
78
2
코드스니펫 입출력 케이스에 오류가 있는것 같아요
0
107
3
링크드 리스트 원소 찾기 구현 방식 질문드립니다.
0
82
2
1874 - 스택 문항
0
85
2
DP Java 예제 자료형 오버플로우 문제
0
108
2
4-9 4주차 숙제중 농심라면 문제
0
122
2
DFS 에서 스택을 사용하는 이유
1
205
3





