본문 바로가기
알고리즘-python/Programmers 문제

[프로그래머스/2단계/파이썬(Python3)] 더 맵게

by 빅데이터1020 2021. 7. 8.
SMALL

문제 출처

 

코딩테스트 연습 - 더 맵게

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

programmers.co.kr

 

풀이 코드

import heapq

def solution(scoville, K):
    answer = 0
    heapq.heapify(scoville)
    
    while len(scoville)>=2:
        min1 = heapq.heappop(scoville)
        
        if min1 < K:
            min2 = heapq.heappop(scoville)
            heapq.heappush(scoville, min1+(min2*2))
            answer +=1
        else:
            return answer
    
    if scoville[0] >= K:
        return answer
    else:
        return -1
    
    return answer

 

힙의 개념을 이용하면 빠르게 풀 수 있는 문제입니다.

 

힙 개념 확인하러 가기↓↓↓↓

https://data-analysis-expertise.tistory.com/101

 

[자료구조/파이썬(Python3)] 힙 (Heap)

힙(heap)은 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리(Complete binary tree)를 기본으로 한 자료구조(tree-based structure)로서 다음과 같은 힙 속성을 만족합니다. - A가 B

data-analysis-expertise.tistory.com

 

LIST