문제링크
문제정보
정수 n이 매개변수로 주어집니다.
n이 만약 2의 거듭제곱수라면 true를
아니라면 false를 반환하세요.
var isPowerOfTwo = function(n) {
return (Math.log2(n) % 1 === 0);
};
Math.log2()는 세퍼레이터를 진수로하고 2를 밑으로하는 로그계산 결과를 반환합니다.
만약 숫자가 음수라면 NaN을 반환합니다.
2의 거듭제곱인 수가 아니라면 Math.log2(n)을 했을 때 값이 딱 떨어지지않고
소수점값이 생겨나고 반대로 2의 거듭제곱이라면 값이 딱 떨어질것입니다.
그렇기 때문에 나누기 1을 했을 때 나머지가 0이라면 그 수는 거듭제곱입니다.
반응형
'leetcode' 카테고리의 다른 글
13. Roman to Integer (0) | 2022.11.28 |
---|---|
500. Keyboard Row (0) | 2022.11.27 |
34. Find First and Last Position of Element in Sorted Array Medium (0) | 2022.11.25 |
35. Search insert Position easy (0) | 2022.11.24 |
1281. Subtract the Product and Sum of Digits of an Integer (0) | 2022.11.22 |