Programmers / 2단계 / [힙(Heap)] 더 맵게 / python /

2024. 2. 18. 16:24·코딩테스트/programmers (python)

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

 

나의 풀이 

.

 

 

모범 답안

import heapq as hq

def solution(scoville, K):

    hq.heapify(scoville)
    answer = 0
    while True:
        first = hq.heappop(scoville)
        if first >= K:
            break
        if len(scoville) == 0:
            return -1
        second = hq.heappop(scoville)
        hq.heappush(scoville, first + second*2)
        answer += 1  

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

 

 

알게된 점

 

heapify()

기존 리스트를 heap으로 변환하려면 heapq 모듈의 heapify() 함수 이용

 

heapify() 함수를 사용할 때 주의할 점은 새로운 리스트를 반환하는 것이 아니라 인자로 넘긴 리스트에 직접 변경한다는 것. 따라서 원본 리스트의 형태를 보존해야되는 경우에는 반드시 해당 리스트를 복제한 후에 인자로 넘겨야 함.

 

 

 

참조

파이썬의 heapq 모듈로 힙 자료구조 사용하기 | Engineering Blog by Dale Seo

 

파이썬의 heapq 모듈로 힙 자료구조 사용하기

Engineering Blog by Dale Seo

www.daleseo.com

 

'코딩테스트 > programmers (python)' 카테고리의 다른 글

Programmers / 2단계 / [스택/큐] 주식가격 / python  (0) 2024.02.20
Programmers / 3단계 / [DFS/BFS] 네트워크 / python  (0) 2024.02.19
Programmers / 2단계 / 깊이/너비 우선 탐색(DFS/BFS) / python /  (1) 2024.02.17
Programmers / 2단계 / k진수에서 소수 개수 구하기 / python / 2018 KAKAO BLIND RECRUITMENT  (0) 2024.02.17
Programmers / 2단계 / [1차] 뉴스 클러스터링 / python / 2018 KAKAO BLIND RECRUITMENT  (1) 2024.02.17
'코딩테스트/programmers (python)' 카테고리의 다른 글
  • Programmers / 2단계 / [스택/큐] 주식가격 / python
  • Programmers / 3단계 / [DFS/BFS] 네트워크 / python
  • Programmers / 2단계 / 깊이/너비 우선 탐색(DFS/BFS) / python /
  • Programmers / 2단계 / k진수에서 소수 개수 구하기 / python / 2018 KAKAO BLIND RECRUITMENT
seulll
seulll
개인 공부 / 정리 블로그입니다 https://github.com/seul1009
  • seulll
    seulll
    seulll
  • 전체
    오늘
    어제
    • 분류 전체보기 (346) N
      • 코딩테스트 (237)
        • programmers (python) (158)
        • 백준 (python) (77)
      • 자료구조 | 알고리즘 (14)
      • 개발 | 프로젝트 (44) N
        • Python (4)
        • Java | Spring (8) N
        • Android (5)
        • Unity (3)
        • API (4)
      • CS (15)
        • Network (5)
        • SQL (2)
        • OS (4)
      • 데이터 분석 (14)
      • 기타 (13)
  • 블로그 메뉴

    • 홈
    • 태그
    • 글쓰기
    • 설정
  • 링크

    • GitHub
  • 인기 글

  • 태그

    파이썬
    야근 지수
    모델 성능 평가
    오블완
    데이터분석
    백엔드 개발자 역량
    티스토리챌린지
    train_test_split
    오차행렬
    asterisk
    그리디 알고리즘
    kakao map api
    Python
    바다코끼리
    API
    프렌즈4블록
    confusion matrix
    solving environment
    웹크롤링
    카카오맵
    Boxplot
    백엔드 개발자
    대입 표현식
    박스플롯
    2 x n 타일링
    코딩테스트
    카카오맵 api
    프로그래머스
    백엔드
    Greedy
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
seulll
Programmers / 2단계 / [힙(Heap)] 더 맵게 / python /
상단으로

티스토리툴바