본문 바로가기
Online-Judge/Programmers

[Programmers] Python 정수 제곱근 판별

by nyangzzi 2022. 3. 19.
반응형

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

 

반응형

댓글