본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]13706번 제곱근

by 현장 2021. 10. 8.

-코드

def binary(n):
    start = 1
    end = n
    while start <= end:
        mid = (start + end) // 2
        if mid ** 2== n:
            return mid
        elif mid ** 2 <= n:
            start = mid + 1
        else:
            end = mid - 1


num = int(input())
print(binary(num))

이분 탐색이라서 풀었는데 처음에는 sqrt만 넣어주면 되는 줄 알았으나 sqrt를 넣으면 실제로는 입출력이 제대로 되나 제출을 하면 런타임 오류가 난다. 

그래서 처음에 이분탐색을 안 해서 틀린 줄 알고 그대로 sqrt를 써서 하다가 런타임 오류가 나서 찾아보니 sqrt문제 여서 sqrt를 빼고 만들어서 해결을 하였습니다.