정리
백준 1654번: 랜선 자르기 본문
백준 1654번: 랜선 자르기
- 1789번: 수들의 합 문제와 매우 유사한 문제이다. 마찬가지로 이분탐색으로 접근하면 된다.
- start = 0, end = 2147483648(2^31 - 1) 으로 초기화한다. start가 end보다 작거나 같을 때까지 while문을 돌린다
- mid = (start + end) // 2
- rep은 각 랜선을 mid 길이만큼 잘랐을 때 나오는 랜선의 개수이다. for문을 통해서 long 리스트에 저장된 랜선들을 mid로 나눴을 때의 몫을 구한다
- rep이 n보다 크거나 같으면 mid가 작다는 것을 의미하므로 start = mid + 1 을 한다
- rep이 n보다 작으면 mid가 크다는 것을 의미하므로 end = mid - 1을 한다
아래는 파이썬 코드이다
'Programming > 백준 BOJ' 카테고리의 다른 글
백준 1339번: 단어 수학 (0) | 2021.01.11 |
---|---|
백준 1251번: 단어 나누기 (0) | 2021.01.11 |
백준 1789번: 수들의 합 (0) | 2020.12.25 |
백준 2493번: 탑 (0) | 2020.10.12 |
백준 14488번: 준오는 급식충이야!! (0) | 2020.09.30 |
Comments