문제 링크

풀이 과정

전체 코드

import heapq

def solution(병사수, 무적권_갯수, 적수_리스트):
    무적권_리스트 = 적수_리스트[:무적권_갯수]
    heapq.heapify(무적권_리스트)  # 초반에 무적권을 다 사용한다고 가정
    for 인덱스 in range(무적권_갯수, len(적수_리스트)):
        # 라운드마다 적의 수를 비교하여, 무적권을 쓸 라운드를 갱신
        적수 = heapq.heappushpop(무적권_리스트, 적수_리스트[인덱스])
        병사수 -= 적수
        if 병사수 < 0:   return 인덱스
        
    return len(적수_리스트)