Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발 일지

258. Add Digits (자릿수 더하기) C# 본문

코딩 테스트/LeetCode

258. Add Digits (자릿수 더하기) C#

포카리tea 2022. 10. 11. 15:32

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

정수 num이 주어집니다. num의 모든 자릿수를 한자리수가 될 때까지 반복하면서 더합니다. 그리고 그 값을 반환합니다.

 

예시 1:

입력: num = 38
출력: 2
설명: 과정은
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2 
로 진행되며 2는 한자릿수이므로 반환합니다.

예시 2:

입력: num = 0
출력: 0

 

조건:

  • 0 <= num <= 23^1 - 1

 

Follow up: Could you do it without any loop/recursion in O(1) runtime?

더 나아가기: 반복/재귀를 사용하지 않고 O(1)로 해결할 수 있나요?

O(1): 시간 복잡도가 1

 

정답:

public class Solution {
    public int AddDigits(int num) {
        if  (num == 0)
            return 0;
        else if (num % 9 == 0)
            return 9;
        else
            return num % 9;
    }
}

해설: 자릿수근은 9로 나눈 나머지 값이기 때문에 0과 9는 따로 return 해주고 나머지는 모두 9로 나눈 나머지 값을 return 해주었다.