📕 문제 설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
⭐ 제한사항
- 1 ≤ n ≤ 1,000,000
💻 입출력 예
n | result |
144 | 1 |
976 | 2 |
📚 입출력 예 설명
입출력 예 #1
- 144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.
입출력 예 #2
- 976은 제곱수가 아닙니다. 따라서 2를 return합니다.
😊 나의 답변
function solution(n) {
const a = Math.floor(Math.sqrt(n));
for(var i = 0; i < n; i++){
if(n / i == a){
return 1;
}
}
return 2;
}
2023년 1월의 내가 작성한 답변이다
나름 메서드를 써가면서 풀었었다.
2023년 8월의 나는 조금 성장해서 간략하게 작성할 수 있었다.
function solution(n) {
return Number.isInteger(Math.sqrt(n)) ? 1 : 0;
}
📌 Number.isInteger()
주어진 값이 정수인지 확인
📌 Math.sqrt(x)
숫자 x의 제곱근을 반환
728x90
반응형
'프로그래머스 > Lv. 0 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] Lv.0 자릿수 더하기 / JS (0) | 2023.08.10 |
---|---|
[프로그래머스] Lv.0 OX퀴즈 / JS (0) | 2023.08.10 |
[프로그래머스] Lv.0 종이 자르기 / JS (0) | 2023.08.09 |
[프로그래머스] Lv.0 n의 배수 고르기 / JS (0) | 2023.08.09 |
[프로그래머스] Lv.0 세균 증식 / JS (0) | 2023.08.09 |