[Silver IV] 정수 제곱근 - 2417
성능 요약
메모리: 34140 KB, 시간: 56 ms
분류
이분 탐색, 수학
제출 일자
2024년 9월 30일 14:24:40
문제 설명
정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 n이 주어진다. (0 ≤ n < 263)
출력
첫째 줄에 q2 ≥ n인 가장 작은 음이 아닌 정수 q를 출력한다.
나의 풀이
2^63을 제곱근해보니 대충 30억정도 나오더군요 brute force는 택도 없겠다 싶어서 이분탐색으로 시도하였습니다.
파이썬은 자료형 크기는 신경 안써도 되어서 편하긴 하네요
import sys
from collections import deque
def input():
return sys.stdin.readline().rstrip()
n = int(input())
start,end = 0, n
while start < end:
middle = (start + end) // 2
if middle ** 2 >= n: end = middle
else: start = middle + 1
print(end)
'알고리즘 문제 풀이 > 백준' 카테고리의 다른 글
[백준] 16439 번 - 치킨치킨치킨- python[ brute foce, 조합 ] (0) | 2024.10.07 |
---|---|
[백준] 2422번 - 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 - python[ 조합 ] (0) | 2024.09.30 |
[백준] 듣보잡- python[ 집합, 정렬 ] (0) | 2024.09.28 |
[백준] 요세푸스 문제- python[ 구현 ] (0) | 2024.09.27 |
[백준] 9046번 - 복호화- python[ 구현 ] (1) | 2024.09.10 |