결과:
*이분 탐색(Binary Search)
-> 정렬되어 있는 배열에서 값을 찾으려 할 때,
탐색 범위를 절반씩 줄여가며 찾는 탐색 방법!
<프로그래머스 문제 풀기>
* 이분탐색 - 입국심사
모든 사람이 심사를 받는데 걸리는 시간의 최소값 찾기!
우선 정렬을 해준다.
이후 left를 최적의시간, right을 최악의 시간으로 하여 이분탐색으로 찾는다.
따라서 while문의 조건은 left가 right보다 작거나 같을때 !
mid는 중간값으로 찾으려는 시간이 된다.
인원 체크를 하기 위해 sum을 이용 !
for문을 돌려 심사관이 각각 할 수 있는 인원을 더해나간다. 그게 곧 sum.
sum이 n보다 작게되면 인원이 미달인 것으로 left를 mid + 1로 설정 !
그렇지 않으면 인원이 넘치는 경우이기때문에 right을 mid-1로 설정한다. 그후 mid 값을 answer로!
최적의 해, 즉 최소값을 찾기 위한 것이기 때문에 종료조건(left가 right보다 작거나 같지 않을 경우) 까지 반복해서 찾는다.
'모각코 > 2021_와플팬케잌호떡' 카테고리의 다른 글
5회차(08.03) - 결과 (0) | 2021.08.03 |
---|---|
5회차(08.03) - 목표 (0) | 2021.08.03 |
4회차(07.27) - 목표 (0) | 2021.07.27 |
3회차(07.20) - 결과 (0) | 2021.07.21 |
3회차(07.20) - 목표 (0) | 2021.07.20 |