일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 백준
- 클라우드
- JavaScript
- docker
- 블록체인
- AWS
- 파이썬
- 프론트엔드
- VUE
- CSS
- BFS
- react
- 이슈
- es6
- TypeScript
- 컴퓨터공학
- next.js
- 이더리움
- kubernetes
- 가상화
- 백엔드
- HTML
- 쿠버네티스
- k8s
- 솔리디티
- 타입스크립트
- 자바스크립트
- 리액트
- 웹
- 알고리즘
- Today
- Total
목록📖 자료구조 (2)
즐겁게, 코드
[문제 링크] 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 1,000보다 작거나 www.acmicpc.net 시뮬레이션으로 분류되어 있지만, 우선순위 큐를 활용해 풀 수 있는 문제였습니다. 풀이 우선순위 큐는 pop 동작 시 언제나 가장 작거나 큰 값을 내보낸다는 특징이 있습니다. 따라서, 이 속성을 이용해 다음과 같은 시퀀스를 구성합니다. 우선순위 큐 가장 위의 득표수를 1 뺀다. 다솜이의 득표수를 1 올린다. 1번에서 뺀 득표수를 다시 우선순위 큐에 삽입한다. 만약 다솜이의 득표수가 큐의 가장 위의 원소보다 크다면 중단한다. [정답 코드 ..
때때로 프로그래밍 문제를 풀다보면 우선순위 큐를 활용해야 하는 경우가 종종 있습니다. 다만 우선순위 큐는 일반적인 큐나 배열이 아닌 힙을 기반으로 구현되었기 때문에 이를 직접 구현해서 사용하기에는 시간이 조금 걸릴수도 있는데요, 다행히 파이썬에서는 우선순위 큐를 내장 라이브러리로 제공합니다. ⏰ 들어가기 전에 우선순위 큐를 구현한 PriorityQueue 라는 라이브러리도 존재하지만, heapq 보다 훨씬 느리게 동작하므로 코딩 테스트용으로는 적합하지 않습니다. 따라서 이번 글에서는 heapq 를 사용한 방법을 소개하도록 하겠습니다. import heapq # 일반적인 리스트를 선언합니다. pq = [] 우선순위 큐는 원소를 삽입할 때는 일반적인 큐와 유사하지만, 원소를 큐에서 뺄 때는 언제나 작은 값을..