https://programmers.co.kr/learn/courses/30/lessons/42626?language=python3
코딩테스트 연습 - 더 맵게
매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같
programmers.co.kr
오늘 heap을 활용해 더 맵게라는 문제를 풀었다.
import heapq
def solution(scoville, K):
answer = 0
heapq.heapify(scoville)
while len(scoville) >=2:
min1 = heapq.heappop(scoville)
min2 = heapq.heappop(scoville)
temp = min1 + min2*2
heapq.heappush(scoville,temp)
answer +=1
if K <= scoville[0]:
return answer
return -1
모든 음식의 스코빌 지수가 K 이상이어야 문제가 해결 되는 것인데
최초로 섞은 음식값이 K 값을 넘었을 때 값을 리턴해버리는 실수를 해서 해결하는데 오래걸렸다.
'알고리즘' 카테고리의 다른 글
자바 배열 정렬 (0) | 2021.10.29 |
---|---|
[java -heap]PriorityQueue 최소값 반환 (0) | 2021.10.28 |
python - heapq 힙 (0) | 2021.10.27 |
[알고리즘] 버블 정렬(Bubble Sort) (0) | 2020.06.28 |
[알고리즘] 선택 정렬(Selection Sort) (0) | 2020.06.28 |