728x90
Overview
- 체감 난이도: ★☆☆☆☆
- 문제 레벨: Lv.1
- 문제 유형: 구현
- 풀이 상태: 답안참고 / 스스로 해결
- 추후: 다시 풀어보기 / 간단 복습 / 완벽 이해
[문제]
https://school.programmers.co.kr/learn/courses/30/lessons/250137
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[코드]
def solution(bandage, health, attacks):
answer = health
# t초, 공격 idx, 연속성공 cnt
t, a, cnt = 0, 0, 0
fin = attacks[-1][0] # 마지막 공격 시간
while True:
# 마지막 공격이 끝나면 exit
if t == fin + 1:
break
# 공격
if t == attacks[a][0]:
answer -= attacks[a][1]
a += 1
cnt = 0
# 공격으로 죽었는지 확인
if answer <= 0:
return -1
# 기술 시전
else:
answer += bandage[1] # 1초당 체력 회복
cnt += 1
# 연속 성공 = t초 -> 추가 회복
if cnt == bandage[0]:
answer += bandage[2]
cnt = 0
# 최대 체력 초과 시
if answer >= health:
answer = health
t += 1
return answer
반응형
'🚩 Coding Test > Programmers' 카테고리의 다른 글
[Programmers][Python] Lv.2 영어 끝말잇기 (0) | 2024.10.26 |
---|---|
[Programmers][Python] Lv.2 짝지어 제거하기 (0) | 2024.10.23 |
[Programmers][Python] 네트워크 (0) | 2024.10.16 |
[Programmers][Python] Lv.2 타겟 넘버 (1) | 2024.10.16 |
[Programmers][Python] Lv.2 가장 큰 수 (1) | 2024.10.12 |