역시 예시를 직접 손으로 시현해 보면 이해가 빠르다.
고려해야 될 것들이 있다.
def solution(bandage, health, attacks):
nh = health
last_attack = attacks[-1][0] + 1
cnt = 0
for i in range(1, last_attack):
flag = False
# 공격시간 확인
for j in range(len(attacks)):
if i == attacks[j][0]:
nh -= attacks[j][1]
cnt = 0
flag = True
# 공격없으면 연속공격 증가, 체력 증가
if not flag:
cnt += 1
if health > nh:
nh += bandage[1]
if nh > health:
nh = health
# 연속 공격 성공하면 체력 추가 회복
if cnt == bandage[0]:
nh += bandage[2]
cnt = 0
if nh > health:
nh = health
if nh <= 0:
nh = -1
break
return nh