실패 | 시도 -번
2417 : [이진 탐색] 정수 제곱근 (py)
문제

내 소스
n = int(input())
start = 0
end = n
result = 0
while start <= end:
q = (start+end)//2
if q**2 < n:
start = q + 1
else:
result = q
end = q - 1
print(result)
소스 설명
start = 0
end = n
[3 - 4] : q^2이 n보다 크거나 같기 때문에 정수 q를 구하기 위해 범위를 0 ~ n으로 둔다.
result = 0
while start <= end:
q = (start+end)//2
if q**2 < n:
start = q + 1
else:
result = q
end = q - 1
[6 - 13] : 이진 탐색을 사용하였고 q의 제곱이 n보다 크거나 같아야 하기 때문에 q**2 >= n
일 때의 q 값을 result에 저장했다.
실패 분석
- 처음에 sqrt()를 사용했었는데 부동 소수점 방식으로 인해 오차가 발생한다고 한다. 소수를 다룰 때 조심해야 할 것 같다.
다른 코드 분석
- 이진 탐색 없이 수학적으로도 접근이 가능하다.
Ref.
1. 문제 풀이 / https://jsy-coding-blog.tistory.com/20
2. 문제 풀이 / https://eboong.tistory.com/480
3. 문제 풀이 / https://jinho-study.tistory.com/689
4. 문제 풀이 / https://77dptjd.tistory.com/12
5. 문제 풀이 / https://brightnightsky77.tistory.com/149
6. 문제 풀이 / https://velog.io/@meganatc7/%EB%B0%B1%EC%A4%80-2417.-%EC%A0%95%EC%88%98-%EC%A0%9C%EA%B3%B1%EA%B7%BC
* 잘못된 부분에 대해 댓글 남겨주시면 감사하겠습니다! 😀
'코딩테스트' 카테고리의 다른 글
[코테/구름톤챌린지] 구름톤 챌린지 1주차 학습 일기 - 2일차 미션 (프로젝트 매니징) (0) | 2023.08.20 |
---|---|
[코테/구름톤챌린지] 구름톤 챌린지 1주차 학습 일기 - 1일차 미션 (운동 중독 플레이어) (0) | 2023.08.20 |
[코테/백준] Python 숫자 카드 2 - 10816번 (0) | 2023.05.24 |
[코테/백준] Python 한수 - 1065번 (0) | 2023.02.21 |
[코테/백준] Python 셀프 넘버 - 4673번 (0) | 2023.02.21 |
실패 | 시도 -번
2417 : [이진 탐색] 정수 제곱근 (py)
문제

내 소스
n = int(input())
start = 0
end = n
result = 0
while start <= end:
q = (start+end)//2
if q**2 < n:
start = q + 1
else:
result = q
end = q - 1
print(result)
소스 설명
start = 0
end = n
[3 - 4] : q^2이 n보다 크거나 같기 때문에 정수 q를 구하기 위해 범위를 0 ~ n으로 둔다.
result = 0
while start <= end:
q = (start+end)//2
if q**2 < n:
start = q + 1
else:
result = q
end = q - 1
[6 - 13] : 이진 탐색을 사용하였고 q의 제곱이 n보다 크거나 같아야 하기 때문에 q**2 >= n
일 때의 q 값을 result에 저장했다.
실패 분석
- 처음에 sqrt()를 사용했었는데 부동 소수점 방식으로 인해 오차가 발생한다고 한다. 소수를 다룰 때 조심해야 할 것 같다.
다른 코드 분석
- 이진 탐색 없이 수학적으로도 접근이 가능하다.
Ref.
1. 문제 풀이 / https://jsy-coding-blog.tistory.com/20
2. 문제 풀이 / https://eboong.tistory.com/480
3. 문제 풀이 / https://jinho-study.tistory.com/689
4. 문제 풀이 / https://77dptjd.tistory.com/12
5. 문제 풀이 / https://brightnightsky77.tistory.com/149
6. 문제 풀이 / https://velog.io/@meganatc7/%EB%B0%B1%EC%A4%80-2417.-%EC%A0%95%EC%88%98-%EC%A0%9C%EA%B3%B1%EA%B7%BC
* 잘못된 부분에 대해 댓글 남겨주시면 감사하겠습니다! 😀
'코딩테스트' 카테고리의 다른 글
[코테/구름톤챌린지] 구름톤 챌린지 1주차 학습 일기 - 2일차 미션 (프로젝트 매니징) (0) | 2023.08.20 |
---|---|
[코테/구름톤챌린지] 구름톤 챌린지 1주차 학습 일기 - 1일차 미션 (운동 중독 플레이어) (0) | 2023.08.20 |
[코테/백준] Python 숫자 카드 2 - 10816번 (0) | 2023.05.24 |
[코테/백준] Python 한수 - 1065번 (0) | 2023.02.21 |
[코테/백준] Python 셀프 넘버 - 4673번 (0) | 2023.02.21 |