개발 연습장/백준 문제풀이

[파이썬, Python] 백준 2417: 정수 제곱근

LooanCheong 2023. 7. 19. 10:32
반응형

문제

https://www.acmicpc.net/problem/2417

 

2417번: 정수 제곱근

정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오.

www.acmicpc.net

코드

n = int(input())

start = 0
end = int(n ** (1/2))

while start <= end:
    mid = (start + end) // 2
    
    if mid ** 2 >= n:
        end = mid - 1
    else:
        start = mid + 1
        
print(start)

설명

이분 탐색으로 해결했다.

시작지점은 0으로 잡아주고,
끝 지점은 n의 제곱근을 정수화해서 잡아줬다.
(이 이상의 수는 무의미하다)

그리고 이분 탐색을 통해 결괏값을 도출했다.

반응형