관리 메뉴

Mini

[맞음] 프로그래머스 서버증설횟수 // 배열, 구현 본문

Algorithm/배열

[맞음] 프로그래머스 서버증설횟수 // 배열, 구현

Mini_96 2025. 5. 13. 15:19

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

 

프로그래머스

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

programmers.co.kr

* 풀이

필요할때마다 증설하는게 최적인가? 그런듯.

귀류법 증명) ...

 

class Solution {
    
    static int[] need = new int[25];
    static int[] server = new int[25];
    
    public int solution(int[] players, int m, int k) {
        int answer = 0;
        int n = players.length;
        
        for(int i=0;i<players.length;++i){
            need[i] = players[i]/m;
        }
        
        // for(int i=0;i<n;++i){
        //     System.out.print(need[i]+" ");
        // }
        
        for(int i=0;i<n;++i){
            if(need[i]>server[i]){
                int gab = Math.abs(need[i]-server[i]);
                for(int j=0;j<k;++j){
                    if(i+j>=n) break;
                    server[i+j]+=gab;
                }
                answer+=gab;
            }
        }
        
        
        return answer;
    }
}