본문 바로가기
프로그래머스

프로그래머스 pccp 모의고사 2-2 신입사원 교육

by 콩순이냉장고 2024. 12. 1.

 

문제 URL : https://school.programmers.co.kr/learn/courses/15009/lessons/121688

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

문제 접근법 : 

pq사용문제입니다. 2개를 넣고 2개를 빼면서 두합을 최소로 만들어주면됩니다.

 

소스코드 : 

import heapq
def solution(ability, number):
    answer = sum(ability)
    pq = ability
    heapq.heapify(pq)
    for _ in range(number):
        a = heapq.heappop(pq)
        b = heapq.heappop(pq)
        answer-=a
        answer-=b
        answer+=(a+b)*2
        heapq.heappush(pq,a+b)
        heapq.heappush(pq,a+b)
    return answer