카테고리 없음

코딩테스트 - 정수 제곱근 판별

8나지 2024. 5. 28. 09:57

문제

내 답

function solution(n) {
    var answer = 0;
   let sqrt = Math.sqrt(n);
   if(n/sqrt !== sqrt) {
      return -1
   } else if (n/sqrt === sqrt) {
      return Math.pow((sqrt+1),2)
   }
    return answer;
}

 

다른사람 답

function solution(n) {
    return Number.isInteger(Math.sqrt(n)) ? Math.pow(Math.sqrt(n) + 1,2) :-1
}

 

내 오답과 관련된 정답

function solution(n) {
    var answer = 0;
    let sqrt = Math.sqrt(n);
    if (sqrt % 1 !== 0) { // 나머지를 이용해 소숫점 판별, 제곱근이 아닐 경우
        answer = -1;
    } else {
        answer = Math.pow(sqrt+1,2); // 제곱근일 경우
    }
    return answer
}

 

및 풀이 참고 https://velog.io/@hyorimm/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%A0%95%EC%88%98-%EC%A0%9C%EA%B3%B1%EA%B7%BC-%ED%8C%90%EB%B3%84-in-JavaScript