[ 답안 ]
import java.util.*;
public class Solution {
public int solution(int n)
int answer = 0;
// 1) while문을 n이 0보다 클때까지 돌리고
while(n > 0) {
//2) answer에 n을 10으로 나눈 나머지를 더한 뒤
answer += n%10;
//3) n을 10으로 나누어 나머지값을 버린 후
n/=10;
//1로 돌아가 3에서 나온 n 값을 0과 비교하여
//n이 0보다 작아질때까지 위의 순서를 반복한다.
}
return answer;
}
}
문제를 처음 봤을때 바로 생각났던 방법이다.
문제를 풀고 난 후 생각난 다른 방법은 n을 String으로 변환 후 String[]에 하나씩 넣어서 숫자로 다시 변환하여 더해주는 방법이다.
[답안]
public class Solution {
public int solution(int n) {
int answer = 0;
// 숫자 n을 String 타입으로 변환
String num = Integer.toString(n);
// 반복문을 String 타입으로 변환한 n 의 자릴수 만큼 반복시켜준다.
for(int i = 0 ; i < num.length(); i++){
String[] result = new String[num.length()];
// String타입으로 변환된 n을 한자씩 쪼개어 String배열인 result에 넣어준다
result = num.split("");
// String타입으로 하나씩 쪼개져 result[i]들어있는 값을 숫자로 변환 후 answer에 더해준다
answer += Integer.parseInt(result[i]);
}
return answer;
}
}
개인적으로는 처음에 생각난 방법이 단순해서 더 선호한다.