최대 1 분 소요

https://school.programmers.co.kr/learn/courses/30/lessons/12934

임의의 양의 정수 n에 대하여, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 한다. n이 양의 정수 x의 제곱이라면 x + 1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 문제.

나의 풀이

def solution(n) :
    sqrt_n = n ** 0.5
    if sqrt_n - int(sqrt_n) == 0 :
        return (int(sqrt_n) + 1) ** 2
    return -1

제곱근을 한 수가 정수인지 실수인지를 어떻게 판별할까 고민하다가

if sqrt_n - int(sqrt_n) == 0 :

이라고 했는데 다른사람의 풀이를 보니

if sqrt_n % 1 == 0 :

으로 나머지 연산자를 이용해서 풀었다.

댓글남기기