[Javascript] leetcode 113:Happy Number

이두팔·2021년 10월 21일
0

leetcode

목록 보기
2/5

https://leetcode.com/explore/interview/card/top-interview-questions-medium/113/math/815/

code

hashmap 알고리즘 사용

/**
 * @param {number} n
 * @return {boolean}
 */
const isHappy = function(n) {
  const hashMap = new Set();

  function loopNumber(value) {
    if (value === 1) return true;

    const splitNumber = String(value).split('');
    const powNumber = 
          splitNumber.reduce((sum, num) => sum += Math.pow(Number(num), 2), 0);

    if (hashMap.has(powNumber)) return false;
    hashMap.add(powNumber);

    return loopNumber(powNumber);
  }

  return loopNumber(n);
};
profile
Software Engineer

1개의 댓글

comment-user-thumbnail
2021년 12월 23일

It is a best solution found that very popular and helpful:
https://www.youtube.com/watch?v=BUqnq05LlJo&ab_channel=EricProgramming

답글 달기