[프로그래머스] Level2, 더 맵게 (Python)

2021. 6. 10. 20:53·알고리즘/프로그래머스
728x90
반응형

문제

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

 

코딩테스트 연습 - 더 맵게

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

programmers.co.kr

 

코드

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

sort()를 사용하여 풀려고 했으나 시간초과

heapq을 사용하면 따로 정렬을 해주지 않아도 최소힙으로 가장 작은값을 구할 수 있다.

 

리스트를 heapify를 이용해 heapq으로 바꿔준다.

heapq은 push pop을 할 때마다 자동으로 정렬을해준다.

 

마지막까지 K보다 작은 원소가 있다면 -1을 리턴한다.

반응형
저작자표시 (새창열림)

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[프로그래머스] Level2, 프린터 (Python)  (0) 2021.06.11
[프로그래머스] Level1, 크레인 인형뽑기 게임 (Python)  (0) 2021.06.11
[프로그래머스] Level2, 조이스틱 (Python)  (0) 2021.06.10
[프로그래머스] Level2, 점프와 순간 이동 (Python)  (0) 2021.06.10
[프로그래머스] Level2, 삼각 달팽이 (Python)  (0) 2021.06.10
'알고리즘/프로그래머스' 카테고리의 다른 글
  • [프로그래머스] Level2, 프린터 (Python)
  • [프로그래머스] Level1, 크레인 인형뽑기 게임 (Python)
  • [프로그래머스] Level2, 조이스틱 (Python)
  • [프로그래머스] Level2, 점프와 순간 이동 (Python)
wookcode
wookcode
공부한 내용들을 정리하고 기록하는 블로그입니다.
    반응형
  • wookcode
    wookcode
    wookcode
  • 전체
    오늘
    어제
    • 카테고리 (196)
      • study (1)
        • 아파치 카프카 애플리케이션 프로그래밍 with 자.. (0)
        • 인프런 (1)
      • Live Study (15)
      • Programming (14)
        • Java (8)
        • Python (1)
        • Springboot (5)
        • MSA (0)
      • 알고리즘 (117)
        • 백준 (58)
        • 프로그래머스 (59)
      • 에러로그 (5)
      • 항해99 (23)
      • 면접 (1)
      • 프로젝트 (1)
      • CS (19)
        • 네트워크 (2)
        • 운영체제 (2)
        • 데이터베이스 (2)
        • 컴퓨터구조 (1)
        • Java (8)
        • Spring (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    항해마켓
    회고
    카카오인턴
    해결
    java
    알고리즘
    조합
    jpa
    실전프로젝트
    스파르타코딩클럽
    그리디
    정리
    에러
    SpringBoot
    버그
    SFlash
    괄호
    김영한
    브루트포스
    spring
    백준
    미니프로젝트
    후기
    파이썬
    orm
    카카오코딩테스트
    프로그래머스
    인프런
    코딩테스트
    항해99
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
wookcode
[프로그래머스] Level2, 더 맵게 (Python)
상단으로

티스토리툴바