컴공생의 다이어리
[프로그래머스] 선입 선출 스케줄링 - 파이썬(Python) 본문
[프로그래머스] 선입 선출 스케줄링 - 파이썬(Python)
def solution(n, cores):
len_cores = len(cores)
if n < len_cores:
return n
n -= len_cores
left, right = 1, max(cores) * n
while left < right: # 이분 탐색
mid = (left + right) // 2
temp = 0
for c in cores:
temp += mid // c
if temp >= n:
right = mid
else:
left = mid + 1
n -= sum(map(lambda x: (right - 1) // x, cores))
for i in range(len_cores):
if right % cores[i] == 0:
n -= 1
if n == 0:
return i + 1
https://school.programmers.co.kr/learn/courses/30/lessons/12920
728x90
반응형
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[파이썬, Python] 백준 12851번 : 숨바꼭질 2 (0) | 2022.08.09 |
---|---|
[파이썬, Python] 백준 16948번 : 데스 나이트 (0) | 2022.08.08 |
[프로그래머스] 가장 큰 수 - 파이썬(Python) (0) | 2022.07.29 |
[프로그래머스] 이중우선순위큐 - 파이썬(Python) (0) | 2022.07.28 |
[프로그래머스] 올바른 괄호 - 파이썬(Python) (0) | 2022.07.27 |
Comments