inblog logo
|
stupefyee
    알고리즘문제풀기

    [JAVA 문제 풀이] 386. 디펜스 게임

    프로그래머스 (142085)
    Stupefyee's avatar
    Stupefyee
    Jul 18, 2025
    [JAVA 문제 풀이] 386. 디펜스 게임
    Contents
    내가 작성한 코드
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/142085
    notion image
     

    내가 작성한 코드

    import java.util.*; // 디펜스 게임 // n = 가진 병사 수 // k = 무적권 // enemy[i] = 병사의 수 class Solution { public int solution(int n, int k, int[] enemy) { // 내림차순 정렬 큐 PriorityQueue<Integer> q = new PriorityQueue<>(Collections.reverseOrder()); int answer = 0; for (int e : enemy) { n -= e; // 병사 사용 q.add(e); // 해당 라운드의 적 수를 큐에 넣음 // 병사가 부족할 경우 if (n < 0) { if (k == 0) break; // 무적권도 없으면 종료 int largest = q.poll(); // 지금까지 중 가장 많은 적이 나온 라운드 n += largest; // 그 라운드에 무적권 사용한 걸로 처리 k--; // 무적권 사용 횟수 감소 } answer++; // 라운드 통과 } return answer; } }
    Share article
    Contents
    내가 작성한 코드

    stupefyee

    RSS·Powered by Inblog