본문 바로가기
  • Let's study
PS/Programmers

[프로그래머스 Lv.2] 서버 증설 횟수(C++)

by 코딩고수이고파 2025. 3. 22.

문제

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

 

프로그래머스

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

programmers.co.kr

코드

#include <queue>
#include <cmath>
using namespace std;

int solution(vector<int> players, int m, int k) {
    int answer = 0;
    int running=0;
    queue<int>q;
    
    for(int i=0;i<24;i++){
        
        while(!q.empty() && q.front()==i){
            q.pop();
            running--;
        }
        
        int required=ceil(players[i]/m);
        if(required>running){
            int newServer=required-running;
            running+=newServer;
            answer+=newServer;
            
            for(int j=0;j<newServer;j++)
                q.push(i+k);
        }    
        
    }
    
    return answer;
}

댓글