[PCCP 기출 1번] 붕대 감기

2025. 6. 5. 16:22·알고리즘
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/250137

 

프로그래머스

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

programmers.co.kr

 

문제 유형

구현

 

문제 난이도

Lev1

 

문제 분석

시전 시간(t) 동안 1초에 x만큼 회복, t초 연속으로 회복 성공할 시, y만큼 추가 회복

조건
1. 최대 체력을 넘어서 체력을 회복하지 못한다.
2. 몬스터에게 공격 당할 시, 체력 회복 하지 못하고 연속 시간은 0으로 초기화
3. 체력이 0 이하가 되면 캐릭터가 사망하며, -1을 return 한다.

문제는 주어진 조건에 맞춰서 그대로 작성하면 된다.

 

전체 코드

import java.util.*;
import java.io.*;

class Solution {
    public int solution(int[] bandage, int health, int[][] attacks) {
        
        // 연속 시간
        int connection = 0;
        int currHealth = health;
        
        Arrays.sort(attacks, (o1, o2) -> 
                    Integer.compare(o1[0], o2[0]));
        
        // 최대 시간
        int time = attacks[attacks.length-1][0];
        int idx = 0;
        

        for(int i = 0; i <= time; i++) {            
            // 연속 시간이 시전 시간과 동일하다면 추가 체력을 회복한다.
            if(connection == bandage[0]) {
                currHealth = Math.min(currHealth + bandage[2], health);
                connection = 0;
            }
            
            // 몬스터에게 공격 당하는 순간
            if(attacks[idx][0] == i) {
                
                currHealth -= attacks[idx][1];
                connection = 0;
                
                if(currHealth <= 0) return -1;
                
                
                idx++;
            } else {
                // 공격 당하지 않는다면
                currHealth = Math.min(currHealth + bandage[1], health);
                connection++;
            }
        }
        
        return currHealth;
    }
}

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘' 카테고리의 다른 글

[PCCP 기출 3번] 아날로그 시계  (1) 2025.06.06
[PCCP 기출 2번] 석유 시추  (1) 2025.06.05
[2024 KAKAO INTERN] 주사위 고르기  (0) 2025.06.05
[PCCP 기출 10번] 공원  (0) 2025.06.02
[PCCP 기출 9번] 지폐 접기  (1) 2025.06.01
'알고리즘' 카테고리의 다른 글
  • [PCCP 기출 3번] 아날로그 시계
  • [PCCP 기출 2번] 석유 시추
  • [2024 KAKAO INTERN] 주사위 고르기
  • [PCCP 기출 10번] 공원
moongi
moongi
프로그래밍 관련 공부를 정리하는 블로그
  • moongi
    By_Me
    moongi
  • 전체
    오늘
    어제
    • 공부 (81)
      • 알고리즘 (47)
        • 기업별 유사 문제 (2)
        • Sudo Code (5)
        • 예외처리 (1)
        • SQL (9)
      • spring boot (6)
        • jpa (0)
        • querydsl (0)
        • MVC pattern (0)
        • setting (2)
      • 취준 (3)
      • CS (8)
        • 디자인패턴 (1)
        • 데이터베이스 (4)
        • 네트워크 (3)
        • 운영체제 (0)
  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
moongi
[PCCP 기출 1번] 붕대 감기
상단으로

티스토리툴바