Today's special moments become memories of tomorrow.

BOJ

[백준 6236번] 용돈 관리 (java)

lotus lee 2021. 3. 1. 18:37

 

6236번: 용돈 관리

현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로

www.acmicpc.net

이분탐색으로 문제를 풀었다.

이분탐색의 먼저 범위(left ~ right)를 정해야 한다. 

 

left : 현우가 N번 동안 필요한 금액 중 최대값이 이분탐색 범위의 시작값이 되어야 한다.       

       예를 들어 현우가 n번째에 500원이 필요한데, 한 번에 인출할 수 있는 금액이 500원보다 작은 400원

       이라면 현우는 n번째에 돈을 쓸 수가 없다.

 

right : 현우가 N번 동안 필요한 금액의 총 합이 이분탐색 범위의 끝값이 된다.

 

 

이분탐색을 진행하면서 현우가 통장에서 인출해야할 최소 금액 K를 찾는다.

 

소스코드 :