알고리즘 문제 풀기/백준(Baekjoon)
[백준 알고리즘] 13706. 제곱근
hibscus
2021. 3. 30. 10:56
처음에는 완전탐색 + 백트래킹을 사용했으나 가지치기가 제대로 안됐는지 시간초과가 떴다.
더 빠른 방법을 고민하다, 제곱근을 찾는 거라 이진탐색을 사용하면 좋을 것 같아 이진탐색을 이용해 풀었다.
# 이진탐색으로 해서 시간 단축
def binary_search(s, e):
while True:
mid = (s + e)// 2
if (mid ** 2) == N:
return mid
elif mid ** 2> N:
e = mid
else:
s = mid
N = int(input())
print(binary_search(1, N))