You're a square!

SungJunEun·2021년 10월 30일
0

Codewars 문제풀이

목록 보기
3/26
post-thumbnail

Description:

A square of squares

You like building blocks. You especially like building blocks that are squares. And what you even like more, is to arrange them into a square of square building blocks!

However, sometimes, you can't arrange them into a square. Instead, you end up with an ordinary rectangle! Those blasted things! If you just had a way to know, whether you're currently working in vain… Wait! That's it! You just have to check if your number of building blocks is a perfect square.

Task

Given an integral number, determine if it's a square number:

In mathematics, a square number or perfect square is an integer that is the square of an integer; in other words, it is the product of some integer with itself.

The tests will always use some integral number, so don't worry about that in dynamic typed languages.

Examples

-1  =>  false
 0  =>  true
 3  =>  false
 4  =>  true
25  =>  true
26  =>  false

My solution:

var isSquare = function(n){
  const square_n = Math.sqrt(n);
  if(isNaN(square_n)) {
    return false;
  }
  for(i=0;i<=Math.floor(square_n); i++) {
    if(Math.pow(i,2) == n) {
      return true;
    }
  }
  return false;
}

Best solutions:

function isSquare(n) {
  return Math.sqrt(n) % 1 === 0;
}
const isSquare = n => Number.isInteger(Math.sqrt(n));
  • Number.isInteger() 주어진 값이 정수인지 판별한다.
profile
블록체인 개발자(진)

0개의 댓글