📌 프로그래머스 [서버 증설 횟수]
🔗 문제 링크
문제 설명 📄
매 시간마다 새로운 플레이어가 유입된다.
서버는 한 번에 m명씩 추가할 수 있으며, 추가된 서버는 k시간 동안 유지된다.
최소한의 증설 횟수로 모든 플레이어를 수용해야 한다.
Solution 💻
def solution(players, m, k):
q = []
max_players = 0
answer = 0
hour = 0
for i in players:
if q and q[0][1] == hour:
max_players -= q.pop(0)[0]
i -= max_players
if i >= m:
q.append([(i // m) * m, hour + k])
answer += (i // m)
max_players += (i // m) * m
hour += 1
return answer
시간 복잡도 분석 ⏲️
- 시간 복잡도: O(n)
- 공간 복잡도: O(n)
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 [문자열 압축] (0) | 2025.03.04 |
---|---|
프로그래머스 [거리두기 확인하기] (0) | 2025.03.01 |
프로그래머스 [디펜스 게임] (0) | 2025.02.19 |
프로그래머스 [리코쳇 로봇] (1) | 2025.02.18 |
프로그래머스 [행렬 테두리 회전하기] (0) | 2025.02.18 |