결과:

 

*이분 탐색(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

+ Recent posts