본문 바로가기

Heap3

[프로그래머스/파이썬] 이중우선순위큐 풀이 (힙, Python, heap, heapq) [프로그래머스/파이썬] 이중우선순위큐 풀이(힙, Python, heap, heapq, heappop, heappush, remove) 1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/426282. 문제 해결 아이디어 (풀이) 1. 힙을 사용한다. 2. 최소힙과 최대힙 배열을 따로 만들어서 각각 삽입/삭제를 진행한다 2.1. 값 삭제를 할 때,- 최댓값 삭제는 최대힙을 pop 해준 뒤, 최소힙에 해당 최댓값을 remove로 삭제한다.- 최솟값 삭제는 최소힙을 pop 해준 뒤, 최대힙에 해당 최솟값을 remove로 삭제한다.** 이때, remove할때 -최댓값, -최솟값 이렇게 -를 붙여줘야 한다. ** 최대힙은 구현을 위해 임시로 -를 붙이기.. 2025. 5. 15.
[프로그래머스/파이썬] 디스크 컨트롤러 풀이 (heap, sort, heapq, heappush, heappop, 힙) [프로그래머스/파이썬] 디스크 컨트롤러 풀이(heap, 힙, sort, heapq, heappush, heappop) 1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 문제 이해2.1. 문제 요약하드디스크는 한 번에 하나의 작업만 수행할 수 있다. 따라서 여러 개의 작업이 들어왔을 때 우선순위에 따라 작업을 수행하도록 하는, '디스크 컨트롤러'를 구현하여총작업의 반환 시간의 평균 구해야 한다. 2.2. 디스크 컨트롤러 규칙대기 큐 : [ [작업 번호, 작업 요청 시각, 작업 소.. 2025. 5. 13.
[프로그래머스/파이썬] 더 맵게 풀이 (Python, heap, heapq, heapify, heappush, heappop, 최소힙) [프로그래머스/파이썬] 더 맵게 풀이 (Python, heap, heapq, heapify, heappush, heappop, 최소힙) 1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  2. 코드import heapqdef solution(scoville, K): #스코빌 리스트, 기준 스코빌 K heapq.heapify(scoville) # 스코빌 리스트 answer = 0 while len(scoville) >=2: # 항상 2개보다 많아야 비교 가능 (완.. 2025. 2. 21.