[JAVA]389479 서버 증설 횟수
📚 문제
https://school.programmers.co.kr/learn/courses/30/lessons/389479
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
🔍 아이디어
서버를 증설해야할 타이밍에 생성하고 k시간이후에 자동으로 해제 되도록 한다.
📝 풀이
import java.util.*;
class Solution {
public int solution(int[] players, int m, int k) {
int servers = 0;
PriorityQueue<Integer> pq = new PriorityQueue<>();
for (int i = 0; i < 24; i++) {
while (!pq.isEmpty() && pq.peek() <= i) {
Integer poll = pq.poll();
//System.out.println(poll + " 반납");
}
int needServers = players[i] / m;
if (pq.size() < needServers) {
for (int j = pq.size(); j < needServers; j++) {
//System.out.println(i+" 생성");
pq.add(i + k);
servers++;
}
}
}
return servers;
}
}
'programmers' 카테고리의 다른 글
| [JAVA]388351 유연근무제 (0) | 2025.05.24 |
|---|---|
| [JAVA]389480 완전 범죄 (0) | 2025.05.24 |
| [JAVA]68645 삼각달팽이 (0) | 2023.07.02 |
| [JAVA]43164 여행경로 , DFS (0) | 2023.06.30 |