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

SeomIII·2021년 7월 12일
0

programmers_LEVEL1

목록 보기
24/34
post-thumbnail

문제 설명

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

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

문제 보기

생각 과정
1. 제곱근 계산하는 함수 있지 않나?
2. 제곱근을 계산하면 값은 double이구나! int로 변환했을 때의 값을 다시 제곱해서 n과 같은지를 비교하자

문제 풀이

import math
def solution(n):
    x, answer = 0,0    
    
    x=int(math.sqrt(n))
    if x*x==n :
        x+=1
        return x*x
    else:
        return -1

다른 사람 풀이

def nextSqure(n):
    sqrt = n ** (1/2)
    # 1/2 제곱,,!!

    if sqrt % 1 == 0:
        return (sqrt + 1) ** 2
    return -1
profile
FE Programmer

0개의 댓글