본문 바로가기
Data Structure 🛠️/Heap

[프로그래머스 PCCP 모의고사 2번] 신입사원 교육

by 킹우현 2023. 11. 11.

import heapq

def solution(ability,number):

    # 신입사원 2명 선발, 선발 후 같이 공부시킴
    # 모든 신입사원의 능력치는 정수로 표현
    # 2명이 같이 공부하면 서로의 능력을 흡수하여 두 신입사원의 능력치는
    # '공부하기 전 두 사람의 능력치의 합'이 됨

    # 교육 후 모든 신입사원의 능력치의 합을 최소화

    # 최솟값을 pop하는 시간복잡도를 최소화 하기위해 heapq 사용

    q = []

    for item in ability:
        heapq.heappush(q,item)

    for i in range(number):
        a = heapq.heappop(q)
        b = heapq.heappop(q)

        heapq.heappush(q,a+b)
        heapq.heappush(q,a+b)

    return sum(q)

'Data Structure 🛠️ > Heap' 카테고리의 다른 글

[프로그래머스 Lv.2] 더 맵게  (0) 2024.07.15
[백준 1655번] 가운데를 말해요  (0) 2024.07.08