자료구조, 알고리즘
[LeetCode] Valid Perfect Square - 자바스크립트 풀이
개발공주
2021. 11. 29. 18:42
728x90
1. 접근 방법
mid의 제곱이 바로 찾는 값이 되면 true를 반환하고, 이진탐색으로 left와 right를 옮겨가며 마지막까지 남은 mid값이 조건을 충족하지 않는다면 false를 반환한다.
2. 전체 풀이
/**
* @param {number} num
* @return {boolean}
*/
var isPerfectSquare = function(num) {
if (num === 1) return 1;
let left = 1;
let right = Math.floor(num / 2);
while (left <= right) {
let mid = left + Math.floor((right - left) / 2);
if (mid * mid === num) return true;
if (mid * mid < num) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return false;
};
728x90