
24시간 동안 시간대별 게임 이용자 수가 주어질 때,
서버 1대가m명을 담당하고k시간 동안 운영된다면
모든 이용자를 감당하기 위한 최소 서버 증설 횟수를 구하는 문제
players[i] // mservers[i])가 부족하면 그 차이만큼 증설i ~ i+k 구간에 반영 (슬라이싱으로 일괄 업데이트)m=1, k=1 / k=1) 는 별도 처리servers 배열로 현재 운영 중인 서버 수를 시간대별로 추적servers[i:i+k]를 한 번에 업데이트해서 슬라이딩 윈도우처럼 활용def solution(players, m, k):
count = 0
servers = [0] * 24
temp_use = 0
if (m == 1 and k == 1) :
return (sum(players))
elif (k == 1) :
answer = [x // m for x in players]
return (sum(answer))
else :
for i in range(len(players)) :
member = players[i]
server = servers[i]
use = member // m
if (use > server) :
servers[i:i+k] = [x + (use - server) for x in servers[i:i+k]]
count += (use - server)
else :
continue
return count