프로그래밍/프로그래머스
[프로그래머스] 제곱수 판별하기
서요서요
2022. 11. 17. 16:28
문제 설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 1,000,000
나의 풀이
def solution(n):
return 1 if n**0.5%1==0 else 2
제곱수일 경우 제곱근이 정수로 떨어진다는 점을 이용하여
n**0.5를 1로 나누었을 때 나머지가 0이면 제곱수,
아닐 경우 제곱수가 아닌 것으로 출력해주었다.
다른 분들의 경우 math 모듈의 sqrt를 쓰시기도 하고,
n**0.5.is_integer()를 사용하여 정수인지 판별해주는 방법을 활용하신 것 같다.