티스토리 뷰

programmers.co.kr/learn/courses/30/lessons/42626

 

코딩테스트 연습 - 더 맵게

매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같

programmers.co.kr

import heapq
# 최소 힙 자료구조

h = [1, 2, 3]
heapq.heapify(h)
print(heapq.heappop(h)) # 1 - 최소값 반환
heapq.heappush(h, 0)    # 입력 후 가장 작은 값이 앞에 오게 자동 정렬
print(heapq.heappop(h)) # 0 - 최소값 반환

 

import heapq

def solution(scoville, K):
    cnt = 0
    h = scoville
    heapq.heapify(h)

    while True:
        tmp = heapq.heappop(h)
        if tmp >= K:
            break
            
        if len(h) == 0:
            return -1
        tmp += (heapq.heappop(h)) * 2
        heapq.heappush(h, tmp)
        cnt += 1
    return cnt
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
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
글 보관함