티스토리 뷰

728x90

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

 

코딩테스트 연습 - 더 맵게

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

programmers.co.kr

 

힙을 사용하기 위해 파이썬의 heapq를 import 해야 합니다.

heap을 사용할 때 새로 list를 선언한 후 하나씩 데이터를 넣는 방법과

heapify를 이용해 주어진 list를 한 번에 힙으로 만드는 방법이 있습니다.

해당 문제에서는 heapify를 이용해서 문제를 풀어야만 제대로 된 성능과 결괏값을 출력하므로 heapify 사용법을 익힐 필요가 있습니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import heapq
 
def solution(scoville, K):
    answer = 0
    
    heapq.heapify(scoville)
    
    while scoville[0< K:
        SUM = heapq.heappop(scoville) + (heapq.heappop(scoville) * 2)
        heapq.heappush(scoville, SUM)
        answer += 1
        if len(scoville) == 1 and scoville[0< K:
            return -1
    
    return answer
cs

 

'코딩 > 파이썬 백준' 카테고리의 다른 글

백준 20921 파일 정리 (파이썬)  (0) 2021.11.29
프로그래머스 모의고사 (level : 1)  (0) 2021.11.25
백준 2993 세 부분(파이썬)  (0) 2021.11.22
백준 4796 캠핑  (0) 2021.10.11
백준 9733 꿀벌 (파이썬)  (0) 2021.10.11
댓글