서버 증설 횟수
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- 내 풀이
- 이미 서버 1개가 돌고 있으므로 3명 부터 → 1개 추가 증설
- 해당 인원을 위해 필요한 서버 수 : need (기본 1개 제외하고)
- 현재 이용가능한 서버 수 = len(servers)
- 현재 추가로 증설해야 하는 서버 수: plus
- 📍주의
- 0~1 시 → idx =0
- 10~15시 사용가능한 서버 → idx=14 (14~15시) 까지만 이용 가능
- 그러므로 bisect으로 같은 값까지 포함해서 자르게 하려면 servers에 idx값에 맞춰 넣어줘야함
- => idx+k-1 (10+5-1 =14)
from bisect import bisect_left
def solution(players, m, k):
answer=0
servers=[]
for idx, player in enumerate(players):
i=bisect_left(servers, idx)
if i!=0:
servers=servers[i:]
if player<m:
continue
need=player//m
if need>len(servers):
plus=need-len(servers)
answer+=plus
servers+=[idx+k-1 for _ in range(plus)]
return answer
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스][그리디] 큰 수 만들기 (0) | 2026.02.10 |
|---|---|
| [프로그래머스] 가장 가까운 같은 글자 (0) | 2026.01.20 |
| [프로그래머스][Set][교집합] 📍비밀 코드 해독 (0) | 2025.09.24 |
| [프로그래머스][DP] 거스름돈 (1) | 2025.08.18 |
| [프로그래머스] 줄 서는 방법 (3) | 2025.08.14 |