sqrt
,ceil
등 다양한 방법을 이용해봤지만 이 문제는 이런 방법으로 풀 경우 오차가 발생하게 되어 WA를 받게 된다. 따라서 정확한 연산을 위해서 이분 탐색으로 접근해야했다.
n = int(input())
start = 0
end = n
while True:
mid = (start + end) // 2
if start > end:
print(start)
break
if mid ** 2 < n:
start = mid + 1
else:
end = mid - 1