문제 설명

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

 

제한사항

  • 1 ≤ n ≤ 1,000,000

 

입출력 예

n result
144 1
976 2

 

내 풀이

import math

def solution(n):
	if n % math.sqrt(n) == 0:
		return 1
	else:
		return 2

 

회고

  • 다른 문제 중에서 import math를 이용한 풀이를 봤던 것이 인상 깊었는데 곧바로 써먹었다. 캬캬
  • 근데 이거 답 아닌 것 같은데? 왜 맞았지
  • 중학교 수학 공부나 다시 해야겠다
  •  if n**(1/2) == int(n**(1/2)): 처럼 써주신 분이 많았는데 여기서 int는 왜 쓰인 거지
  •  if (n**0.5) % 1 == 0:  이것도 잘 기억해두자(이 결과가 정수가 아니면 n은 제곱수가 아님)

 

복사했습니다!