티스토리 뷰
반응형
Heap 자료구조
- 완전 이진트리의 일종이다.
- 중복된 값을 허용
- 최댓값, 최솟값을 빠르게 찾아내기 위한 자료 구조이다. (우선순위 큐)
파이썬의 heapq 모듈
- heappush: 힙에 값을 추가, 추가 후에 정렬이 되지 않는다.
- heappop: 힙에서 가장 작은 값을 꺼내옴
- heapify: 리스트를 힙으로 변환
프로그래머스 더맵게 문제 heapq 적용
import heapq
def solution(scoville, K):
answer = 0
heapq.heapify(scoville)
while 1:
if len(scoville)<=1 and scoville[0] < K:
answer = -1
break
if scoville[0] >= K:
break
new_num = heapq.heappop(scoville) + (heapq.heappop(scoville)*2)
heapq.heappush(scoville, new_num)
answer+=1
return answer
반응형
'Programming > 코딩테스트' 카테고리의 다른 글
[백준] 2828번 사과 담기 게임, 그리디알고리즘 파이썬 (0) | 2023.09.02 |
---|---|
[백준] 전자레인지 파이썬 (0) | 2023.09.01 |
[백준] 루프 파이썬 (0) | 2023.08.31 |
[백준] 거스름돈 파이썬 (0) | 2023.08.31 |
백준 음계 코딩테스트 (0) | 2022.09.01 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자료구조
- 분산시스템
- 보안기사
- lightsail
- 우선순위큐
- LangChain
- t검정
- java
- 카카오페이면접후기
- 보안
- Ai
- 딥러닝
- 리눅스
- 코딩테스트
- springboot
- Python
- 정보보안
- linux
- 백준
- 카카오페이
- 다이나믹프로그래밍
- 프로그래머스
- 그리디
- synflooding
- 정보보안기사
- t-test
- 파이썬
- llm
- 시간초과
- FastAPI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함