프로그래머스/LV2
[프로그래머스 Lv2,python] - 디펜스 게임
chyam_eun
2025. 3. 21. 11:12

https://school.programmers.co.kr/learn/courses/30/lessons/142085
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
import heapq # 최대 힙 사용
def solution(n, k, enemy):
max_heap = []
stage=0
for i in range(len(enemy)):
heapq.heappush(max_heap, -enemy[i]) # 체력 큰 병사대로 저장하기
n -= enemy[i]
if n<0: # 체력이 0보다 작을때
if k>0: # 무적권이 있으면
k-=1
n += (-heapq.heappop(max_heap)) # 제일 체력이 많은 병사 체력을 더해줌
else: # 없으면 종료
return stage
stage = i+1
return stage
최대힙을 사용해주었다.