코딩 테스트/LeetCode

258. Add Digits (숫자 더하기)

포카리tea 2024. 9. 25. 14:28

정수 num이 정해지면, 결과가 숫자 한 개만 나올 때까지 모든 숫자를 반복해서 더한 다음 반환합니다.

 

예시 1:

입력: num = 38
출력: 2
설명: 과정은 다음과 같습니다. 
38 --> 3 + 8 --> 11 
11 --> 1 + 1 --> 2 
2는 숫자가 한 개뿐이므로 반환합니다.

 

예시 2:

입력: num = 0
출력: 0

 

 

 

조건:

  • 0 <= num <= 2^31 - 1

 

정답:

public class Solution {
    public int AddDigits(int num) {
        int result = num;

        while (result > 9)
        {
            int add = 0;

            for (int i = 0; i < result.ToString().Length; i++)
            {
                add += result.ToString()[i] - '0';
            }

            result = add;
        }
        
        return result;
    }
}

해설: 정수 result를 Tostring을 이용하여 char형으로 쪼갠 이후 다시 int형으로 더해줍니다.

해당 작업을 result가 한 자리수 즉 9이하가 될때까지 반복합니다.