넘치게 채우기

[LeetCode] 258. Add Digits 본문

PS/LeetCode

[LeetCode] 258. Add Digits

riveroverflow 2023. 4. 27. 01:44
728x90
반응형

https://leetcode.com/problems/add-digits/description/

 

Add Digits - LeetCode

Can you solve this real interview question? Add Digits - 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 -->

leetcode.com

난이도 : Easy

 

 

문제

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

 

정수를 받으면, 그 자릿수들을 한자릿수가 될 때까지 더하고, 반환하라

 

 

입력

정수 num이 입력된다.( 0 <= num <= 2^31 - 1)

 

 

출력

한자릿수가 된 수를 반환한다.

 

아이디어

do ~ while문으로 % 10을 통해 계속 끝자리수만 잘라서 누적시킨다.

만약 누적된 값이 10 이상이면, 재귀 호출시킨다.

 

코드(C++)

class Solution {
public:
    int addDigits(int num) {
        int sum = 0;
        do{
            sum += num % 10;
            num = num / 10;
        }while(num > 0);
        if (sum > 9){
            return addDigits(sum);
        }
        return sum;
    }
};
728x90
반응형

'PS > LeetCode' 카테고리의 다른 글

[LeetCode] 1137. N-th Tribonacci Number  (0) 2023.04.30
[LeetCode] 509. Fibonacci Number  (0) 2023.04.30
[LeetCode] 7. Reverse Integer  (0) 2023.04.30
[Leetcode] 134. Gas Station  (0) 2023.04.29
[LeetCode] 13. Roman to Integer  (0) 2023.04.26