1️⃣ left right 설정하기
2️⃣ while True 반복, mid 설정
while True:
mid = (left+right)//2
3️⃣ mid 값을 이용하여 주어진 조건에 만족하는지 체크하기 위한 값 구하기
count = 0
for line in lines:
count += line//mid
4️⃣ left > right 면 반복 끝내고 값 출력
if left > right:
print(mid)
break
5️⃣ 주어진 조건 만족에 따라 left와 right 값을 조절한다
if count < n:
right = mid - 1
else:
left = mid + 1
예시 문제
'알고리즘 > 알고리즘 개념' 카테고리의 다른 글
BFS (0) | 2023.04.11 |
---|---|
이항계수 (+페르마의 소정리) (0) | 2023.04.11 |
플로이드 워셜 알고리즘 (0) | 2023.04.11 |
슈트라센 알고리즘 (0) | 2023.03.30 |
유클리드 호제법 (0) | 2023.03.28 |