문제 설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 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은 제곱수가 아님)
'Programmers > Python' 카테고리의 다른 글
| [프로그래머스] [Python] 짝수 홀수 개수 (0) | 2022.11.10 |
|---|---|
| [프로그래머스] [Python] 편지 (0) | 2022.11.10 |
| [프로그래머스] [Python] 문자열 안에 문자열 (0) | 2022.11.10 |
| [프로그래머스] [Python] 배열 원소의 길이 (2) | 2022.11.10 |
| [프로그래머스] [Python] 머쓱이보다 키 큰 사람 (0) | 2022.11.09 |