개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (286) N
    • Web Front End (75) N
      • Javascript & Typescript (26)
      • React (12) N
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (7)
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • JavaScript
  • 노개북
  • 자바스크립트
  • TypeScript
  • 오늘의회고
  • 릿코드
  • 개발자
  • 노마드북클럽
  • 프론트엔드
  • 회고

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이

개발후라이

Problem Solved/LeetCode

[LeetCode][Javascript] 202번 - Happy Number

2020. 1. 23. 13:45
반응형

문제

[LeetCode][Javascript] 202번 - Happy Number

문제 설명

  1. 숫자로 입력한 입력값 n을 문자열로 변환해 1글자씩 끊어 배열에 저장한다.
  2. 배열에서 reduce를 활용해 제곱합을 구해 calculate 변수에 저장한다.
  3. dp라는 배열에 이미 calculate 값이 이미 있다면 무한 반복하게 될테니 그것을 방지하기 위해 이미 있는 값이면 멈추고 false를 만환한다.
  4. dp에 없는 수이면 dp 배열에 추가한다.
  5. 반환값에 함수를 넣어 주면서 재귀적으로 실행될 수 있도록 한다.

성공 코드

const isHappy = (n, dp = []) => {
    if (n === 1) return true;

    let nArray = String(n).split('');
    let calculate = nArray.reduce((sum, element) => sum += Math.pow((element), 2), 0);

    if (dp.includes(calculate)) return false;
    dp.push(calculate)
    return isHappy(calculate, dp);
};
반응형
저작자표시 (새창열림)
    'Problem Solved/LeetCode' 카테고리의 다른 글
    • [LeetCode][javascript] 344번 문제 - Reverse String
    • [LeetCode][Javascript] 136번 - Single Number
    • [LeetCode][Javascript] 26. Remove Duplicates from Sorted Array
    • [LeetCode][Javascript] Easy - Reverse Integer
    개발후라이
    개발후라이
    어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

    티스토리툴바