-코드
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를 빼고 만들어서 해결을 하였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬]4796번 캠핑 (0) | 2021.10.08 |
---|---|
[백준/파이썬]1316번 그룹 단어 체커 (0) | 2021.10.08 |
[백준/파이썬]13777번 Hunt The Rabbit (0) | 2021.10.08 |
[백준/파이썬]2776번 암기왕 (0) | 2021.10.07 |
[백준/파이썬]10994번 별 찍기 - 19 (0) | 2021.10.06 |