코딩테스트 파이썬/파이썬 프로그래머스 1단계
[PCCP 기출문제] 1번 / 붕대 감기
세용용용용
2024. 1. 6. 18:02


입출력 예 #1

입출력 예 #2

입출력 예 #4

나의 코드
def solution(bandage, health, attacks):
answer = health
# 연속 공격 카운트
connect_attack = 0
# 공격받는 정보 딕셔너리에 저장
attack_dt = {}
for i in attacks:
attack_dt[i[0]]=i[1]
# 1초 부터 마지막 시간까지 반복
for i in range(1, attacks[-1][0]+1):
connect_attack+=1
# 현재 시간이 공격 정보 딕셔너리에 있으면
# 체력 깍아주고 0 이하이면 return -1
if i in attack_dt.keys():
answer = answer-attack_dt[i]
if answer<=0:
return -1
connect_attack=0
# 연속 공격이 발동시 추가 회복 시켜줌
else:
if connect_attack==bandage[0]:
answer = min(answer+bandage[1]+bandage[2], health)
connect_attack=0
else:
answer = min(answer+bandage[1], health)
# 최종 체력 return
return answer