[JAVA] 붕대 감기

붕대 감기

링크

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

난이도 : Level 1

유형 : 구현, 배열

코딩테스트 연습 > PCCP 기출문제 > 붕대 감기

 

풀이

문제 설명대로 구현만 잘하면 되는 문제였다.

if문이랑 배열만 잘 다루면 문제 없을 것 같다.

 

코드

class Solution {
    public int solution(int[] bandage, int health, int[][] attacks) {
        int answer = 0;
        int curH = health;
        int index = 0;
        int stack = 0;
        for(int i = 0; i <= 1000; i++) {
            if(attacks[index][0] == i) {
                curH -= attacks[index][1];
                index++;
                if(index == attacks.length) break;
                stack = 0;
            }
            else {
            curH += bandage[1];
                stack++;
            if(stack == bandage[0]) {
                curH += bandage[2];
                stack = 0;
            }
            if(curH >= health) {
                curH = health;
            }
            }
            
            if(curH <= 0) return -1;
        }
            if(curH <= 0) return -1;
        return curH;
    }
}

'알고리즘공부 > 프로그래머스' 카테고리의 다른 글

[JAVA] 석유 시추  (0) 2025.02.04
[JAVA] 양궁대회  (0) 2025.02.03
[JAVA] 신고 결과 받기  (2) 2025.02.01
[JAVA] k진수에서 소수 개수 구하기  (0) 2025.02.01
[JAVA] 로또의 최고 순위와 최저 순위  (0) 2025.02.01