[JavaScript] Valid Perfect Square 367

Designated Hitter Jack·2023년 11월 2일
0

leetcode

목록 보기
10/11
post-thumbnail

문제

  1. Valid Perfect Square
    Solved
    Easy
    Topics
    Companies
    Given a positive integer num, return true if num is a perfect square or false otherwise.

A perfect square is an integer that is the square of an integer. In other words, it is the product of some integer with itself.

You must not use any built-in library function, such as sqrt.

Example 1:
  Input: num = 16
  Output: true
  Explanation: We return true because 4 * 4 = 16 and 4 is an integer.

Example 2:
  Input: num = 14
  Output: false
  Explanation: We return false because 3.742 * 3.742 = 14 and 3.742 is not an integer.
 
Constraints:
  1 <= num <= 231 - 1

해답

/**
 * @param {number} num
 * @return {boolean}
 */
var isPerfectSquare = function(num) {
    for (let i = 1; i < Number.MAX_SAFE_INTEGER; i++) {
        if (i * i == num) {
            return true;
            break;
        } else if (i * i < num && (i + 1) * (i + 1) > num) {
            return false;
            break;
        }
    }
};

sqrt같은 내장 함수를 쓰지 않고 주어진 num이 어떤 정수의 제곱인지를 확인하는 문제이다.
Number.MAX_SAFE_INTEGER는 JS에서 안전하게 표현할 수 있는 가장 큰 정수인데 일단 반복문을 1부터 여기까지 돌리면서 중간에 답을 찾으면 break로 빠져나오는 logic을 짰다.

profile
Fear always springs from ignorance.

0개의 댓글