파이썬 기준으로
for time in times
count +=mid//time
을 하는 이유에 대해서 궁금합니다. 정확히 말하면 잘 와닿지가 않습니다.
예를 들어서 예시 데이터에서 n=6,[7,10]이고 시간이 20초일때 빈 심사대인 (10초 심사대)로 가지 않고 1초를 기다린 후에
첫번째 심사대(7초 심사대)로 가는 과정이 있는데, count +=mid//time 처럼 단순한 식으로 저런 과정을 포함할수 있나에 대해서
의문입니다.
정리하자면 1초를 기다리는 등의 복잡한 과정이 있는데 mid//time같은 단순한 식으로 바뀌는것이 궁금합니다.
정말 많은 해설 풀이글을 찾아봤지만 기다리는 과정까지 포함한 설명이 없더라구요. 도움 부탁드립니다.
접근 방법 자체를 다시 생각해보세요
이분 탐색으로 답을 찾는 작업은 작업 시간들을 비교해서 최적의 스케쥴을 찾는것이 아닙니다.
작업과정을 간략하게 말하자면 아래와 같으니 참고해보세요
[해당시간에 처리할수 있는 사람수]와 [목표 사람수]를 비교함
* [처리할수 있는 사람수]가 [처리해야되는 사람수]보다 많으면 시간을 너무 여유있게 잡았음 -> 시간을 줄여봄
* [처리할수 있는 사람수]가 [처리해야되는 사람수]보다 적으면 시간을 너무 빡빡하게 잡았음 -> 시간을 늘려봄
[처리할수 있는 사람수]와 [처리해야되는 사람수]가 같으면
* 스케쥴은 모르겠지만 아무튼 시간은 구했다! 끝!
브라보
설명 감사합니다~~
설명 감사합니다~
최고..
👍
최고에요...
설명 감사합니다.. 꼭 탐색에 필요한 정렬된 배열이 필요한 알고리즘이 아니었네요