이분탐색으로 문제를 풀었다.
이분탐색의 먼저 범위(left ~ right)를 정해야 한다.
left : 현우가 N번 동안 필요한 금액 중 최대값이 이분탐색 범위의 시작값이 되어야 한다.
예를 들어 현우가 n번째에 500원이 필요한데, 한 번에 인출할 수 있는 금액이 500원보다 작은 400원
이라면 현우는 n번째에 돈을 쓸 수가 없다.
right : 현우가 N번 동안 필요한 금액의 총 합이 이분탐색 범위의 끝값이 된다.
이분탐색을 진행하면서 현우가 통장에서 인출해야할 최소 금액 K를 찾는다.
소스코드 :
'BOJ' 카테고리의 다른 글
[백준 4358번] 생태학 (java) (0) | 2021.03.02 |
---|---|
[백준 2343번] 기타 레슨 (java) (0) | 2021.03.01 |
[백준 5052번] 전화번호 목록 (java) (0) | 2021.02.27 |
[백준 2056번] 작업 (java) (0) | 2021.02.26 |
[백준 2670번] 연속부분최대곱 (java) (0) | 2021.02.25 |