n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하는 문제
예제 2의 경우, 3의 제곱근은 1.7320508075688772와 같이 float type이다.
이를 int로 정수화하면 1이므로
정수화한 값과 제곱근의 값이 다르다.
그래서 if int(square_root) == square_root:
와 같은 코드를 작성하여 n의 제곱근이 정수인지 판별하였다.
math
모듈의 sqrt
함수를 사용import math
def solution(n):
sq = math.sqrt(n)
if sq == int(sq):
return (sq+1)**2
return -1
def solution(n):
sqrt = n ** (1/2)
if sqrt % 1 == 0:
return (sqrt + 1) ** 2
return '-1'