반응형
Notice
Recent Posts
Archives
Today
Total
Link
관리 메뉴

꾸준하게

[JS코딩테스트] 정수 제곱근 판별 본문

JS코딩테스트

[JS코딩테스트] 정수 제곱근 판별

DaeunCoding 2023. 4. 6. 07:34
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
반응형