[프로그래머스] Lv.1 - 정수 제곱근 판별(feat. Math.sqrt(), Number.isInteger()

dev.galim·2023년 9월 5일
0

문제 설명

문제 풀이

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

처음 문제를 풀땐, for문과 if문을 사용하여 조금은 조잡하게 풀었었다.
그러나 else if를 사용하니 원하는데로 결과가 나오지 않았고, 다른 풀이들을 살펴보았는데 숫자의 제곱근을 반환하는 함수가 있다는걸 알게 되었다💡
Math.sqrt()를 사용하니 코드가 훨씬 간결해졌고 이해하기도 쉬워졌다.
먼저 Number.isInteger을 사용하여 n의 제곱근이 정수인지 확인하였고 정수가 맞다면
반환값 + 1을 제곱한 값을 리턴, 아니라면 -1을 리턴하도록 코드를 작성하였다.

Math.sqrt()

➡️ 숫자의 제곱근을 반환한다.
괄호 안에 특정 숫자를 넣으면 된다.

Math.sqrt(121); // 11 반환

Number.isInteger()

➡️ 숫자가 정수라면 true를, 아니라면 false를 반환한다.

Number.isInteger(100); // true
Number.isInteger(1.1); // false
profile
열심히 해볼게요

0개의 댓글