세용용용용 2023. 7. 16. 11:47

섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)

코딩테스트 연습 - 더 맵게 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

나의 코드

def solution(scoville, k):
    answer = 0
    scoville.sort()
    while scoville[0]<k:
        answer+=1
        new_scoville= scoville.pop(0)+(scoville.pop(0)*2)
        scoville.append(new_scoville)
        scoville.sort()
    #print(scoville)
    print(answer)
    return answer
solution([1, 2, 3, 9, 10, 12], 7)

 

수정한 코드

import heapq
def solution(scoville, k):
    answer = 0
    #일다 스코빌지수 오름차순으로 정렬부터
    scoville.sort()

    while scoville[0] < k:
        #스코빌지수를 k이상으로 만들 수 없는 경우
        if len(scoville) == 1:
            return -1
       
        else:
            answer+=1
            heapq.heappush(scoville, heapq.heappop(scoville)+(heapq.heappop(scoville)*2))
    #print(scoville)
    return answer
solution([1,2,3,9,10,12], 7)

성공!!!!