class Solution {
public int solution(String number) {
int answer = 0;
int num = 0;
for(int i = 0; i<number.length(); i++){
num += number.charAt(i);
}
return answer = num % 9;
}
}
이렇게 해주면 당연히 안된다.
이 코드의 큰 문제점은
ASCII의 값을 num에 대입시킨다.
그래서 예를 들어, "123"이 있다면
문자 '1'은 49 문자 '2'는 50 '3'은 51
이렇게 되어서
결국 num에는 150이라는 숫자가 대입이 된다.
paserInt로 할 수 있지만 다른 방법으로 해봤다.
class Solution {
public int solution(String number) {
int answer = 0;
int num = 0;
for(int i = 0; i < number.length(); i++) {
num += Character.getNumericValue(number.charAt(i));
// 문자를 숫자로 변환하여 더함
}
answer = num % 9;
return answer;
}
}