728x90
320x100
def solution(bandage, health, attacks):
maxHealth = health # 최대체력 저장
time = 0 # 현재시간
continueSuccess = 0 # 연속성공횟수
maxTime = attacks[-1][0] # 마지막 공격시간
attackDict = {} # 공격시간, 피해량 dic
for attack in attacks:
attackDict[attack[0]] = attack[1]
while time <= maxTime:
if time in attackDict : # 몬스터 공격시
health -= attackDict[time] # 체력 감소
continueSuccess = 0 # 연속성공횟수 초기화
# 공격 후 체력이 0이하 라면
if health <= 0 :
return -1
else : # 붕대감기 성공시
continueSuccess += 1 # 연속성공횟수 증가
if continueSuccess == bandage[0] : # 연속성공횟수 달성시
health = health + bandage[1] + bandage[2] # 체력 증가
if health > maxHealth:
health = maxHealth
continueSuccess = 0 # 연속성공횟수 초기화
else :
health += bandage[1]
if health > maxHealth:
health = maxHealth
time += 1 # 시간증가
return health
728x90
320x100
'💻 하나씩 차곡차곡 > 프로그래머스 (Python)' 카테고리의 다른 글
[프로그래머스/Lv.2/Python] 전화번호 목록 (0) | 2024.01.08 |
---|---|
[프로그래머스/Lv.1/Python/해시] 완주하지 못한 선수 (0) | 2024.01.05 |
[프로그래머스/python/Lv1] 개인정보 수집 유효기간 (0) | 2024.01.01 |
[프로그래머스/python/Lv1] [PCCE 기출문제] 10번 / 데이터 분석 (0) | 2023.12.31 |
[프로그래머스/python/Lv1] 성격 유형 검사하기 (0) | 2023.12.30 |