💡solutions )
✅ 처음에 heapq 자료구조 사용하지 않고 sort를 했다가 런타임 에러가 떴었다. 다른 분들은 처음부터 heapq를 사용하시길 바란다.
✅ 참고로 heapq는 heappush, heappop을 할 때 자동으로 정렬을 해주어 효율성이 높아진다고 한다.
🎫code )
import heapq
def solution(scoville, K):
items = []
for i in scoville:
heapq.heappush(items, i)
cnt = 0
while items[0] < K:
try:
heapq.heappush(items, heapq.heappop(items)+(heapq.heappop(items)*2))
except:
return -1
cnt += 1
return cnt
📌 description )
문제출처 : programmers.co.kr/learn/courses/30/lessons/42626
문제 설명
매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다.
입출력 예 설명
모든 음식의 스코빌 지수가 7 이상이 되었고 이때 섞은 횟수는 2회입니다. |
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 문자열 압축/ 파이썬/ Python/ 2020 KAKAO BLIND RECRUITMENT/ 카카오 블라인드 채용 (0) | 2020.08.24 |
---|---|
[프로그래머스] 프린터 /파이썬 / Python / deque (3) | 2020.08.23 |
[프로그래머스] 124 나라의 숫자 /파이썬 /Python (0) | 2020.08.21 |
[프로그래머스] 시저 암호 /파이썬 /Python (0) | 2020.08.20 |
[프로그래머스] 체육복 /파이썬 /Python (0) | 2020.08.19 |