꾸준하게
[JS코딩테스트] 정수 제곱근 판별 본문
728x90
반응형
[내가 풀다 실패한 코드]
function solution(n) {
for(x=1; x <= n;x++){
if(x**2 === n){
return (x + 1)**2;
}
}
}
for문이 한 바퀴 다 돌 동안 조건에 적합한 값이 없어 undefined가 반환되면 -1을 리턴해야하는데,
그 방법을 모르겠다.
다시 고민해보자.
다음 날 다시 풀어보았다.
function solution(n) {
for(x=1; x <= n;x++){
if(x**2 === n){
return (x + 1)**2;
break;
}
if(x === n){
return -1;
}
}
}
x===n까지 for문이 이어졌다면 -1을 반환하도록 했다.
결과는 성공!
[다른 풀이]
return Math.sqrt(n) === parseInt(Math.sqrt(n)) ? (Math.sqrt(n) + 1) ** 2 : -1
* Math.sqrt() : 제곱근 구하는 메서드
* parseInt() : 정수로 반환
728x90
반응형
'JS코딩테스트' 카테고리의 다른 글
[JS코딩테스트] 정수 내림차순으로 배치하기 (0) | 2023.04.10 |
---|---|
[JS코딩테스트] 자연수 뒤집어 배열로 만들기 (0) | 2023.04.09 |
[JS코딩테스트] 나머지가 1이 되는 수 찾기 (0) | 2023.04.05 |
[JS코딩테스트] 문자열 내 p와 y의 개수 (0) | 2023.04.04 |
[JS코딩테스트] x만큼 간격이 있는 n개의 숫자 (0) | 2023.04.03 |