코딩테스트 문제

[프로그래머스/Python] 붕대 감기

왕초보코딩러 2024. 8. 7. 15:43
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/250137?language=python3

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


 

def solution(bandage, health, attacks):
    answer = health
    attack_num, t = 0, 0
    cnt = 0

    if cnt == attacks[attack_num][0]:
        answer -= attacks[attack_num][1]
        attack_num += 1
        if answer <= 0:
            return -1
    while attack_num < len(attacks):
        t += 1
        cnt += 1
        
        if cnt == attacks[attack_num][0]:
            answer -= attacks[attack_num][1]
            attack_num += 1
            t = 0
            if answer <= 0:
                return -1
            continue
        
        answer += bandage[1]
        if health < answer:
            answer = health
        
        if t == bandage[0]:
            #붕대 다 감고 추가 회복
            answer += bandage[2]
            if health < answer:
                answer = health
            t = 0
    
    return answer