본문 바로가기
PS/programmers

[Lv. 1] 정수 제곱근 판별(Python)

by 강렬한 스포트라이트 2023. 3. 16.

안녕하세요. 

강렬한 스포트라이트 입니다!

 

하기의 문제를 Python 언어를 사용하여 구현하고자 합니다.

 

<문제 설명>

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

 

<제한 사항>

n은 1이상, 50000000000000 이하인 양의 정수입니다.

 

<입출력 예>

return
121  144
-1

 

 

1) n의 제곱근을 구하고 int()형으로 변환 후 같을 경우, (n의 제곱근+1)^2를 구하도록 구현한 코드입니다.

 

def solution(n):
    if n**(1/2)==int(n**(1/2)): #정수 확인
        return (n**(1/2)+1)**2
    else:
        return -1

 

 

2) 상기의 코드를 math 라이브러리를 사용하여 구현한 코드입니다.

import math
def solution(n):
    if math.sqrt(n)%1==0: #정수 확인
        return math.pow((math.sqrt(n)+1),2)
    else:
        return -1

 

 

해보시고 문의사항이 있으시면 댓글로 남겨주세요.´◡`

감사합니다!

 

 

반응형
SMALL