1. 문제
2. 풀이 과정
def solution(n, times):
def b_search(s, e):
while s <= e:
m = (s+e)//2
#(전체 걸린 시간)//(각 times) = (각 심사관이 맡은 사람 수)
c = 0
for t in times:
c += m//t
if c < n:
s = m + 1
else:
e = m - 1
#c==n이면 왼쪽 구역 선택
#이유 :c==n을 만족시키는 시간들 중에 최소를 구해야 함
return s
return b_search(min(times), (n//len(times)+1)*max(times))
'코딩문제풀이 > 프로그래머스' 카테고리의 다른 글
[Python] 순위 (0) | 2021.09.03 |
---|---|
[Python] 가장 먼 노드 (0) | 2021.09.02 |
[Python] 도둑질 (0) | 2021.09.01 |
[Python] 여행경로 (0) | 2021.08.31 |
[Python] 등굣길 (0) | 2021.08.31 |