99클럽 코테 스터디 TIL : 389479 서버 증설 횟수

_sw_·2025년 4월 9일
0
post-thumbnail

🚀 문제

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

🚀 정답 코드

def solution(players, m, k):
    answer = 0  # 총 추가한 서버의 수를 누적할 변수
    
    server_down_time = [0] * 24  # 각 시간별로 꺼질 서버 수를 기록하는 배열
    
    cur_server = 0  # 현재 운영 중인 서버 수
    
    for cur in range(0, 24):  # 0시부터 23시까지 반복
        cur_server -= server_down_time[cur]  # 현재 시간에 만료되어 꺼진 서버 수 반영 (감소)
        
        needs_server = players[cur] // m  # 현재 시간에 필요한 서버 수 계산
        
        if cur_server < needs_server:  # 현재 서버 수가 부족하다면
            added_server = needs_server - cur_server  # 부족한 만큼 서버 추가
            answer += added_server  # 총 추가 서버 수에 반영
            cur_server = needs_server  # 현재 서버 수 업데이트
            
            if (cur + k < 24):  # 추가한 서버가 꺼질 시각이 24시 이전이면
                server_down_time[cur + k] = added_server  # 해당 시각에 서버가 꺼진다고 기록
                
    return answer  # 총 추가된 서버 수 반환

🚀 시행착오 했던 부분

오늘 문제는 단순 구현 문제여서 시행착오했던 부분은 없었다. 하지만 최근 문제들이 좀 어려운 알고리즘 문제를 풀다보니 지레 쫄아서 뭔가 숨겨진 케이스가 있지 않을까 하는 의심이 들었었다;;

profile
나도 잘하고 싶다..!

0개의 댓글