본문 바로가기
Coding Test/Python

[프로그래머스] 붕대 감기 python 풀이

by giem 2024. 12. 20.
반응형

 

 

 

프로그래머스 붕대감기 python 풀이

 


문제

 

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/250137

 

 


구현

 

시간에 따라 반복하면 매우 비효율적이기 때문에

attack 배열을 반복하면서 각 attack 사이의 delta 값을 위주로 계산해서 풀이 하려고 했다.

 

아래 코드를 보면 조금 더 쉽게 이해할 수 있을 것이다.


코드

 

 

조금 잘리긴 했지만 설명을 하자면 각 attack time 간격을 계산해서 delta_time에 넣었다.

공격당하기 전까지의 시간까지 회복할 수 있으니 -1을 해줬다.

health의 최대치를 넘지 않게 해 주었고, 회복을 완료할만한 시간이 있었는지는 //연산으로 계산한 후 damage만큼 빼줬다.

 

계산식은 아래와 같다.

health = min(max_health, health + delta_time*bandage[1] + (delta_time//bandage[0])*bandage[2]) - damage

 

 


다른 풀이

 

다른 사람들의 풀이를 보면 조금 복잡하게 되어 있거나 비슷해서 이번 포스트에는 따로 넣지 않겠다.

 

 

반응형

댓글