Notice
Recent Posts
Recent Comments
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

No Limitation

[Heap] 더 맵게 - 프로그래머스 본문

프로그래밍

[Heap] 더 맵게 - 프로그래머스

yesungcho 2022. 1. 29. 21:06

https://programmers.co.kr/learn/courses/30/lessons/42626?language=python3 

 

코딩테스트 연습 - 더 맵게

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

programmers.co.kr

 

heapq 연습 문제로 적합한듯

 

import heapq as hp
def solution(scoville, K):
    answer = 0
    # heap화 시킴
    hp.heapify(scoville) ## 최소 힙으로 사용
    ## K 이상으로 만들 수 있을 때
    while(scoville[0] < K and len(scoville)>=2) : 
        ## 2개 뽑음
        mins = hp.heappop(scoville)
        sub_mins =  hp.heappop(scoville)
        ## 새 거 만듦
        new = mins+sub_mins*2
        hp.heappush(scoville, new)
        answer += 1
    ## 만들 수 없을 때
    if scoville[len(scoville)-1] < K : 
        answer = -1
    ## 나머지는 이미 다 K 이상일 때
    return answer