일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Overfitting
- 다익스트라
- NEXT
- dropout
- 우선 순위 큐
- 알고리즘
- c++
- 분할 정복
- 회고록
- 백트래킹
- object detection
- tensorflow
- 2023
- back propagation
- 플로이드 와샬
- 너비 우선 탐색
- BFS
- 조합론
- dfs
- 세그먼트 트리
- pytorch
- 미래는_현재와_과거로
- lazy propagation
- 문자열
- 가끔은 말로
- 이분 탐색
- 가끔은_말로
- DP
- 자바스크립트
- 크루스칼
Archives
- Today
- Total
Doby's Lab
백준 13706번: 제곱근 (Python) 본문
https://www.acmicpc.net/problem/13706
Solved By: Binary Search
주어지는 수가 엄청 크기 때문에 Python을 이용했습니다. Python의 math 패키지에 있는 sqrt를 사용하여 문제를 풀려 했지만 연산을 해야 하는 값이 너무 커서 OverflowError가 나왔습니다.
그래서 이분 탐색을 돌려서 만족하는 값이 있으면 출력하도록 코드를 썼습니다.
from math import sqrt
n = int(input())
low, high = 1, n
while low <= high:
mid = (low + high) // 2
#print(mid)
if(mid * mid < n):
low = mid + 1
elif(mid * mid > n):
high = mid - 1
else:
print(mid)
break
728x90
'PS > BOJ' 카테고리의 다른 글
백준 13306번: 트리 (C++) (0) | 2022.08.13 |
---|---|
백준 1305번: 광고 (C++) (0) | 2022.08.10 |
백준 14935번: FA (Python) (0) | 2022.08.08 |
백준 7501번: Key (C++) (0) | 2022.08.07 |
백준 17633번: 제곱수의 합 (More Huge) (C++) (0) | 2022.08.07 |