자릿수 더하기

문제정의


숫자가 들어올 때 숫자의 자릿수를 모두 더해서 출력하는 문제이다.

문제풀이


전체 코드는 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class AddDigit {

public static void main(String[] args)
{
int n = 123;
int answer = 0;
String num = Integer.toString(n);
char[] n_arr = num.toCharArray();
for(char c : n_arr)
{
int temp = Integer.parseInt(String.valueOf(c));
answer += temp;
}
System.out.print(answer);
}

}

숫자를 문자열을 바꾼디 숫자를 문자배열로 쪼갠다. 그리고 전부 더하여 정답을 내면 된다. 총 시간복잡도는 \(O(log10(n))\)이다.

테스트



문자열로 바꾸지 않아도 10으로 나머지 연산을 반복함으로써 해결할 수도 있었다.