Search
Duplicate

붕대 감기

Level
1
문제 진행 상태
코드 완료
해설 작성 중
알고리즘 & 자료구조
해시
정답률 (%)
29
태그
PCCP 기출문제

문제 링크

풀이 과정

전체 코드

def solution(bandage, health, attacks): ''' bandage: [시전 시간, 초당 회복량, 추가 회복량] health: 최대 체력 attcks: [공격 시간, 피해량] ''' answer = health # 현재 체력 max_time = attacks[-1][0] # 마지막 공격 시간 cur_time = 1 success = 0 # 다음 공격까지 회복 시간 attack_dict = {attack_info[0]: attack_info[1] for attack_info in attacks} # 공격 사전 while cur_time <= max_time: if cur_time not in attack_dict: # 해당 시간에 공격을 받지 않으면 -> 회복 success += 1 if success >= bandage[0]: answer = min(answer+bandage[1]+bandage[2], health) success = 0 else: answer = min(answer+bandage[1], health) else: # 공격 받을 때 success = 0 answer -= attack_dict[cur_time] if answer <= 0: # 현재 체력이 0 이하인가? return -1 cur_time += 1 return answer
Python
복사