반응형
https://programmers.co.kr/learn/courses/30/lessons/12934
코딩테스트 연습 - 정수 제곱근 판별
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함
programmers.co.kr
만약 정수 n이 어쩐 양의 정수 x의 제곱이라면, n의 제곱근은 나머지가 없는 정수이다.
따라서 n의 제곱근을 구한 뒤 소수점 아래를 버리고, 다시 제곱하여 n이 된다면 그 수는 양의 정수 x의 제곱근이라는 것을 알 수 있다.
제곱근 구하기
math.sqrt(n)
제곱근의 소수점 버리기
math.trunc(math.sqrt(n))
앞서 구한 수를 다시 제곱
math.pow(math.trunc(math.sqrt(n)),2)
[전체 코드]
import math
def solution(n):
if math.pow(math.trunc(math.sqrt(n)),2) == n:
return math.pow(math.sqrt(n)+1,2)
return -1
반응형
'Online-Judge > Programmers' 카테고리의 다른 글
[Programmers] Python 서울에서 김서방 찾기 (0) | 2022.03.19 |
---|---|
[Programmers] Python 수박수박수박수박수박수? (0) | 2022.03.19 |
[Programmers] Python 자연수 뒤집어 배열로 만들기 (0) | 2022.03.19 |
[Programmers] Python 정수 내림차순으로 배치하기 (0) | 2022.03.19 |
[Programmers] Python 제일 작은 수 제거하기 (0) | 2022.03.19 |
댓글