(Week1)[Heap] 더 맵게

2022. 6. 20. 15:01·알고리즘_코딩테스트/주간코딩 스터디 (주코스)

주간 코딩스터디 때 푼 문제들을 정리하고 있습니다. 구체적인 문제에 대한 정보는 게시글 내 링크를 살펴봐주세요

소요시간: 20분

1. 문제 설명

https://programmers.co.kr/learn/courses/30/lessons/42626

 

코딩테스트 연습 - 더 맵게

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

programmers.co.kr

모든 음식의 스코빌 지수를 K이상으로 만들기 위해 음식을 섞으려고 할 때, 최소 횟수를 구하는 문제

2. 접근 방식

  • 문제에서 주어진 리스트의 길이가 2 이상 1,000,000이하로 주어지기 때문에  시간 복잡도가 있을 것이라고 생각
  • 주어진 리스트가 매번 순서대로 정렬되어야 한다는 점에서 heap을 사용하기로 함.

3. 코드

import heapq

def solution(scoville, K):
    heap_ls, count = [], 0
    for i in scoville:
        heapq.heappush(heap_ls, i)
    while heap_ls:
        node = heapq.heappop(heap_ls)
        if node > K or len(heap_ls) == 0:
            break
        next_node = heapq.heappop(heap_ls)
        mul_scov = node + (next_node*2)
        heapq.heappush(heap_ls, mul_scov)
        count +=1
    return count if node > K else -1

4. 코멘트

  • Heapq를 활용해 Heap을 구현하는데, 오랜만에 사용하다보니 사용법에 익숙하지 않아서다시 한 번 검색했었다. Heapq는 리스트를 생성하고, heapq.heappush와 heapq.heappop으로 입력과 출력을 진행한다.

 

저작자표시 비영리 변경금지 (새창열림)

'알고리즘_코딩테스트 > 주간코딩 스터디 (주코스)' 카테고리의 다른 글

(Week3)[구현] 순위검색  (0) 2022.06.20
(Week3)[BFS] 타겟넘버  (0) 2022.06.20
(Week2)[구현] 오픈채팅방  (0) 2022.06.20
(Week2)[재귀] 하노이의 탑  (0) 2022.06.20
(Week1)[N진법] n진수 게임  (0) 2022.06.20
'알고리즘_코딩테스트/주간코딩 스터디 (주코스)' 카테고리의 다른 글
  • (Week3)[BFS] 타겟넘버
  • (Week2)[구현] 오픈채팅방
  • (Week2)[재귀] 하노이의 탑
  • (Week1)[N진법] n진수 게임
논곰
논곰
현재 2년 유목하고, 3년 이상 리테일 쪽에서 머신러닝 엔지니어로 잠시 정착 중인 AI 엔지니어입니다.
  • 논곰
    에이아이 유목민
    논곰
  • 전체
    오늘
    어제
    • 분류 전체보기 (200)
      • 기술 견문록 (22)
        • MLOps (8)
        • ProductServing (5)
        • 협업 툴 (3)
        • Error Collecting (2)
        • 컨퍼런스 (1)
        • 자격증 (1)
      • IT 견문록 (10)
        • 추가 학습 정리 (10)
      • 알고리즘_코딩테스트 (162)
        • 프로그래머스_Level1 (40)
        • 백준코딩테스트_단계별문제풀이 (14)
        • 이것이 코딩테스트다 (63)
        • 2021_알고리즘 스터디 (30일) (28)
        • 주간코딩 스터디 (주코스) (17)
      • 독서 견문록 (6)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    MLFlow
    mrc
    Level2
    글또
    dfs
    python3
    단계별문제풀이
    이진탐색
    기술면접
    그래프이론
    부스트캠프_AITech_3기
    U_stage
    파이썬 3
    Level1
    알고리즘_스터디
    ODQA
    백트랙킹
    dp
    구현
    최단경로
    프로그래머스
    Level2_PStage
    그리디
    알고리즘스터디
    부스트캠프_AITech3기
    정렬
    이코테
    백준
    주간회고
    다시보기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
논곰
(Week1)[Heap] 더 맵게
상단으로

티스토리툴바