코딩테스트/Python

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

짐니♡ 2025. 9. 23. 23:56

 

 

import math

def solution(n):

    a = int(math.sqrt(n))

    if a*a == n:
        return (a+1)**2
    else:
        return -1

 

파이썬에서 sqrt(제곱근) 함수 구할때 import math 씀

sqrt 쓰면 정수가 아니라 실수(float)형을 반환하기 때문에 int형 꼭 써줘야함 !

 

 

 

math 함수 안쓰고 반복문으로 풀면

def solution(n):


    i = 1
    while i * i <= n:
        if i * i == n:
            return (i+1) ** 2
        i+=1
    return -1

 

1부터 차례대로 제곱하면서 n과 같은 값이 나오는지 확인

같으면 제곱수, 크면 멈춤