반응형
문제
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의 제곱근을 정수화해서 잡아줬다.
(이 이상의 수는 무의미하다)
그리고 이분 탐색을 통해 결괏값을 도출했다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 4963: 섬의 개수 (0) | 2023.07.20 |
---|---|
[파이썬, Python] 백준 6603: 로또 (0) | 2023.07.19 |
[파이썬, Python] 백준 1072: 게임 (0) | 2023.07.18 |
[파이썬, Python] 백준 15655: N과 M (6) (0) | 2023.07.17 |
[파이썬, Python] 백준 15654: N과 M (5) (0) | 2023.07.14 |