

입출력 예 #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'코딩테스트 파이썬 > 파이썬 프로그래머스 1단계' 카테고리의 다른 글
| Softeer 연습문제(1단계) - 후보자 (0) | 2024.06.23 |
|---|---|
| Softeer 연습문제(1단계) - 근무시간 (0) | 2024.06.23 |
| 가장 많이 받은 선물 (0) | 2024.01.06 |
| 주사위 게임 3 (1) | 2023.10.28 |
| 정수를 나선형으로 배치하기 (0) | 2023.10.26 |