Add Digits

Jamie·2022년 3월 16일
0

LeetCode

목록 보기
12/18
post-thumbnail

문제

Given an integer num, repeatedly add all its digits until the result has only one digit, and return it.

Example 1:

Input: num = 38
Output: 2
Explanation: The process is
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2
Since 2 has only one digit, return it.
Example 2:

Input: num = 0
Output: 0

Constraints:

0 <= num <= 231 - 1

풀이

var addDigits = function (num) {
    // num의 길이가 1이 될 때까지 재귀를 돌린다
    // num을 반복문을 돌리면서 각 자리 수의 합을 구한다

    let sum = 0;
    let str = String(num);
    if (str.length === 1) {
        return num;
    }
    for (let i = 0; i < str.length; i++) {
        sum += Number(str[i]);
    }
    return addDigits(sum);
};

✅ 재귀를 이용해서 간단하게 푼 문제!

profile
공부하고 비행하다 개발하며 여행하는 frontend engineer

0개의 댓글