-
[백준] 2417 - 정수 제곱근알고리즘 2023. 4. 9. 17:50728x90
1. 문제
https://www.acmicpc.net/problem/2417
2417번: 정수 제곱근
정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오.
www.acmicpc.net
2. 접근
1. 시간 제한이 0.4초여서 이분 탐색으로 풀어야 한다고 생각했다 ( 그게 아니라면 그냥 math를 쓰거나 ** 연산자를 사용하고 바로 끝낼것이다 )
2. 0부터 주어진 n 까지를 범위로 생각해서 mid ** 2 값과 n값이랑 비교하면서 이분 탐색으로 돌리면 된다
3. 풀이
import sys input = sys.stdin.readline n = int(input()) def convert(n): return n ** 2 def binary(start, end): while start <= end: mid = (start+end) // 2 if convert(mid) >= n: end = mid - 1 res = mid else: start = mid + 1 return res print(binary(0, n))'알고리즘' 카테고리의 다른 글
[백준] 1049 - 기타줄 (0) 2023.04.20 [백준] 1389 - 케빈 베이컨의 6단계 법칙 (0) 2023.04.14 [백준] 1654 - 랜선 자르기 (0) 2023.04.09 [백준] 1920 - 수 찾기 (0) 2023.04.09 [백준] 1431 - 시리얼 번호 (0) 2023.04.07