[프로그래머스] Lv.0 제곱수 판별하기

Jiumn·2023년 1월 22일
0

[프로그래머스] Lv.0 제곱수 판별하기

문제 설명

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.

제한사항

1 ≤ n ≤ 1,000,000

입출력 예

nresult
1441
9762

입출력 예 설명

입출력 예 #1
144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.

입출력 예 #2
976은 제곱수가 아닙니다. 따라서 2를 return합니다.

풀이

n이 제곱수라면 반드시 '자연수'의 제곱근이어야 한다.
파이썬에서 제곱근을 나타내는 방법은 n**1/2을 할당하고,이다.

어떤 수에 n**1/2을 할당하고,
이 수가 자연수인지 판별하려면 1로 나눴을 때 나머지가 0인지 아닌지를 확인하면 된다.

나머지가 0이면 이 수는 자연수가 맞고, 따라서 n은 제곱수가 된다.
나머지가 0이 아니라면 제곱수가 아니다.

def solution(n):
    num = n**(1/2)
    
    if num % 1 == 0:
        return 1
    else: return 2
profile
Back-End Wep Developer. 꾸준함이 능력이다.

0개의 댓글