Written by
DK-Lite
on
on
[KAKAO PS] 추석 트래픽
Problem
이번 추석에도 시스템 장애가 없는 명절을 보내고 싶은 어피치는 서버를 증설해야 할지 고민이다. 장애 대비용 서버 증설 여부를 결정하기 위해 작년 추석 기간인 9월 15일 로그 데이터를 분석한 후 초당 최대 처리량을 계산해보기로 했다. 초당 최대 처리량은 요청의 응답 완료 여부에 관계없이 임의 시간부터 1초(=1,000밀리초)간 처리하는 요청의 최대 개수를 의미한다.
Solution
…
Code
import datetime
def solution(lines):
dates = []
for line in lines:
line_s = line.split()
day_time_str = " ".join(line_s[:-1])
seconds_val = float(line_s[-1][:-1])
end_p = datetime.datetime.strptime(day_time_str, '%Y-%m-%d %H:%M:%S.%f')
start_p = end_p - datetime.timedelta(seconds = seconds_val+0.999)
dates.append({ 'end' : end_p, 'start' : start_p })
sorted_dates = sorted(dates, key=lambda x: x['start'])
answer = 0
result = []
for date in sorted_dates:
result = [ endtime for endtime in result if endtime > str(date['start'])]
result.append(str(date['end']))
answer = max([answer, len(result)])
return answer
Reference
https://programmers.co.kr/learn/courses/30/lessons/17676?language=python3