프로그래머스 LV1 - 정수 제곱근 판별

anonymous·2021년 5월 25일
0

문제 설명

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

제한 조건
⦁ n은 1이상, 50000000000000 이하인 양의 정수입니다.

풀이

import math
def nextSqure(n):
    return int(math.sqrt(n)+1) ** 2 if int(math.sqrt(n)) ** 2 == n else -1

다른사람 풀이

def nextSqure(n):
    sqrt = n ** (1/2)
    return (sqrt + 1) ** 2 if sqrt % 1 == 0 else -1

배운 점

⦁ math.sqrt(n) == n**(1/2)

profile
아는게 없음

0개의 댓글