https://school.programmers.co.kr/learn/courses/30/lessons/120909
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
[문제 설명]
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
[나의 풀이]
def solution(n):
return 1 if (int(n**(1/2)))**2 == n else 2
[다른 풀이]
틀린 풀이
def solution(n):
return 1 if isinstance(n**(1/2),int) else 2
처음에 이렇게 입력했을 때 틀렸다고 나옴
올바른 풀이
def solution(n):
return 1 if (n ** 0.5).is_integer() else 2
def solution(n):
if n**(1/2) == int(n**(1/2)) :
return 1
else :
return 2
def solution(n):
return 1 if (n ** 0.5) % 1 == 0 else 2
def solution(n):
for i in range(1,n+1):
if n == i * i:
return 1
return 2