210222開発ログ(77日目)-プログラマアルゴリズムの問題「より辛い」解答
3208 ワード
問題は以下の通りです.
最小の食べ物からかき混ぜると言うからには、heapを使ってかき混ぜます.Pythonでは、以下の内蔵モジュールを使用できます.
Pythonが提供するheapは少なくともheapで構成されていることに注意してください.
方法
最小の食べ物からかき混ぜると言うからには、heapを使ってかき混ぜます.Pythonでは、以下の内蔵モジュールを使用できます.
import heapq
コードの作成
import heapq
def solution(scoville, K):
heapq.heapify(scoville) # heapify를 활용하여 주어지는 scoville list를 heap으로 만든다.
answer = 0
while scoville[0]<K and len(scoville)!=1: # 최소 heap과 K를 비교하고, scoville의 길이도 확인해서 반복문을 실행해준다.
pop_tmp1 = heapq.heappop(scoville)
pop_tmp2 = heapq.heappop(scoville)
insert_tmp = pop_tmp1 + pop_tmp2*2
heapq.heappush(scoville, insert_tmp)
answer +=1
if len(scoville)==1 and scoville[0]<K: # 여기서 and 뒤에 조건을 생각해주지 않아서 처음에 틀렸었다!
return -1
return answer
注意事項
Pythonが提供するheapは少なくともheapで構成されていることに注意してください.
Reference
この問題について(210222開発ログ(77日目)-プログラマアルゴリズムの問題「より辛い」解答), 我々は、より多くの情報をここで見つけました https://velog.io/@gojaegaebal/210222-개발일지77일차-프로그래머스-알고리즘-문제-더-맵게-풀이テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol