320x100
https://school.programmers.co.kr/learn/courses/30/lessons/42626
heapq 모듈로 힙을 만들어서 구현했다.
scoville 리스트를 최소 힙으로 만들고 최솟값이 K 이상이 될 때까지 섞기를 반복했다.
import heapq
def solution(scoville, K):
answer = 0
heapq.heapify(scoville) # minheap
while scoville[0] < K : # 최솟값이 K보다 작을 때
if len(scoville) == 1: # -1 조건
return -1
min_1 = heapq.heappop(scoville)
min_2 = heapq.heappop(scoville)
heapq.heappush(scoville,min_1 + min_2 * 2)
answer += 1
return answer
'코딩테스트' 카테고리의 다른 글
[파이썬] 2 x n 타일링 [CODING TEST #57] (0) | 2022.08.17 |
---|---|
[파이썬] JadenCase 문자열 만들기 [CODING TEST #56] (0) | 2022.08.17 |
[파이썬] 영어 끝말잇기 - Summer/Winter Coding(~2018) [CODING TEST #53] (0) | 2022.08.13 |
[파이썬] 최댓값과 최솟값 [CODING TEST #52] (0) | 2022.08.12 |
[파이썬] 게임 맵 최단거리 [CODING TEST #51] (0) | 2022.08.11 |
댓글