백준 문제 풀이 - 이진탐색
문제 확인 🏃
200
>> 19
import sys
input = sys.stdin.readline
S = int(input())
def solution(start, end):
answer = 0
while start <= end:
mid = (start + end) // 2
if (mid * (mid + 1)) / 2 <= S:
answer = mid
start = mid + 1
else:
end = mid - 1
return answer
print(solution(0, S))

여기서 포인트는 연속된 자연수의 합은 (mid * (mid + 1)) / 2 라는 것 😙