[링크]
https://programmers.co.kr/learn/courses/30/lessons/12934
코딩테스트 연습 - 정수 제곱근 판별
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함
programmers.co.kr
[문제설명 및 입출력 예]
[내가 제출한 코드 및 풀이]
💯 삼항연산자 사용한 코드
function solution(n) {
let x = Math.sqrt(n) // n을 root로 처리 ex) root 121 = 11
let mul = x+1 // 양의 정수 x의 제곱일 경우 수행해야하는 식 변수로 만듬
let answer = 0; // return할 값
n % x == 0 ? answer = mul*mul : answer = -1 // n을 x로 나눠 나누어 떨어질 경우 mul*mul 수행, 아니면 -1 return
return answer
}
[다른 사람의 코드]
💡 내가 작성한 코드랑 거의 비슷한데 더 짧아 보이는 코드
function solution(n) {
let num = Math.sqrt(n);
if(num % 1 === 0 ) return (num+1) * (num+1)
else return -1
}
💡 Number.isInteger(sqrt)로 조건식 표현 후 Math.pow()로 sqrt+1을 제곱
function solution(n) {
let sqrt = Math.sqrt(n);
return Number.isInteger(sqrt) ? Math.pow(sqrt + 1, 2) : -1;
}
'Algorithm' 카테고리의 다른 글
[프로그래머스] 문자열 내림차순으로 배치하기- JavaScript 📝 (0) | 2021.11.11 |
---|---|
[프로그래머스] 제일 작은 수 제거하기- JavaScript 📝 (0) | 2021.11.11 |
[프로그래머스] 하샤드 수 - JavaScript 📝 (0) | 2021.11.10 |
[프로그래머스] 콜라츠 추측 - JavaScript 📝 (0) | 2021.11.10 |
[프로그래머스] 자연수 뒤집어 배열로 만들기 - JavaScript 📝 (0) | 2021.11.09 |