본문 바로가기

Python/프로그래머스

[프로그래머스] [Python] 더 맵게

문제 풀이

 

def solution(scoville, K):
    answer = 0

    # 리스트를 heapq 형식으로 변경
    heapq.heapify(scoville)

    # heapq 형식이기 때문에 가장 작은 값이 [0]위치에 온다. 이 값이 K보다 작으면
    while scoville[0] < K:
        try:
            # 스코빌 지수 공식 대입
            heapq.heappush(scoville, heapq.heappop(scoville) + heapq.heappop(scoville) * 2)
            answer += 1

        # 인덱스 에러가 났을 경우. 즉 끝까지 돌았음에도 여전히 scoville[0] < 인 경우에는 -1을 리턴한다
        except IndexError:
            return -1

    return answer

 

 

 

문제 링크

 

 

programmers.co.kr/learn/courses/30/lessons/42626?language=python3

 

코딩테스트 연습 - 더 맵게

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

programmers.co.kr