-
Notifications
You must be signed in to change notification settings - Fork 101
/
정수-제곱근-판별&12934&.js
39 lines (34 loc) · 1.09 KB
/
정수-제곱근-판별&12934&.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//https://github.com/codeisneverodd/programmers-coding-test
//더 좋은 풀이가 존재할 수 있습니다.
//정답 1(🎩 refactor 220425) - codeisneverodd
function solution(n) {
return Number.isInteger(Math.sqrt(n)) ? (Math.sqrt(n) + 1) ** 2 : -1;
}
//정답 2 - chaerin-dev
function solution(n) {
// n의 제곱근값을 x에 저장
let x = Math.sqrt(n);
// x가 정수이면 x+1의 제곱 반환, x가 정수가 아니면 -1 반환
return Number.isInteger(x) ? Math.pow(x + 1, 2) : -1;
}
//정답 3 - prove-ability
function solution(n) {
// n의 제곱근을 x 초기화
const x = Math.sqrt(n);
// 양의 정수라면 x + 1 제곱 반환
if(Number.isInteger(x)) return Math.pow(x + 1, 2)
// 아니라면 -1 반환
return -1;
}
//정답 4 - jaewon1676
function solution(n) {
let s = parseInt(Math.sqrt(n)) // n의 제곱근을 확인
if (s ** 2 === n) return ((s+1) ** 2)
return -1;
}
//정답 5 - yongchanson
function solution(n) {
const sqrt = Math.sqrt(n);
//sqrt % 1 == 0 이면 양의정수, -0이면 음의정수
return sqrt % 1 == 0 ? (sqrt + 1) ** 2 : -1;
}