[leetcode, JS] 231. Power of Two

mxxn·2023년 8월 16일
0

leetcode

목록 보기
26/198

문제

문제 링크 : Power of Two

풀이

/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfTwo = function(n) {
    if(n === 1) return true;
    if(n%2) return false;
    let iniNum = 2
    while(iniNum < n) {
        iniNum *= 2
    }
    return iniNum === n
};
  1. n이 1이면 true, 그 외에 홀수면 false
  2. 초기값을 2로 잡고 n보다 작을 때까지 *2
  3. iniNum과 n 비교하여 return
  • Runtime 52 ms, Memory 43.9 MB

다른 풀이

/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfTwo = function(n) {
    if(n == 1){
        return true
    }
    if(n == 0){
        return false
    }
    if(n % 2 != 0){
        return false
    }else{
        return isPowerOfTwo(n / 2)
    }
};
  1. 조건식은 비슷하고 재귀를 사용한 풀이
  • Runtime 47 ms, Memory 42.9 MB
profile
내일도 글쓰기

0개의 댓글