코딩 테스트/Level 3
선입 선출 스케줄링
컴닥
2022. 9. 4. 10:29
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12920
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
파이썬
무지성 코딩.
def solution(n, cores):
board = [0 for _ in cores]
while True:
for i, v in enumerate(cores):
if board[i] == 0:
n -= 1
board[i] = v
if n == 0:
return i + 1
for i in range(len(cores)):
board[i] -= 1
이분(이진) 탐색
파라메트릭 서치
def solution(n, cores):
if n < len(cores):
return n
n -= len(cores)
left, right = 1, max(cores) * n
while left < right:
mid = (left + right) // 2
works = sum(mid // time for time in cores)
if works >= n:
right = mid
else:
left = mid + 1
n -= sum((right - 1) // time for time in cores)
for i, time in enumerate(cores):
if right % time == 0:
n -= 1
if n == 0:
return i + 1
반응형