티스토리 뷰

반응형

Heap 자료구조

- 완전 이진트리의 일종이다.

- 중복된 값을 허용

- 최댓값, 최솟값을 빠르게 찾아내기 위한 자료 구조이다. (우선순위 큐)

 

파이썬의 heapq 모듈

- heappush: 힙에 값을 추가, 추가 후에 정렬이 되지 않는다.

- heappop: 힙에서 가장 작은 값을 꺼내옴

- heapify: 리스트를 힙으로 변환

 

프로그래머스 더맵게 문제 heapq 적용

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함