728x90

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

힙을 사용해 풀었습니다.

힙에서 두 명을 뽑은 뒤 둘의 능력치 합을 다시 힙에 넣어줍니다.

이를 총 number만큼 반복합니다.

 

코드

파이썬
from heapq import heapify, heappush, heappop

def solution(ability, number):
    heapify(ability)
    for _ in range(number):
        a = heappop(ability)
        b = heappop(ability)
        heappush(ability, a + b)
        heappush(ability, a + b)
    return sum(ability)
728x90
딩딩크롱