음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같은 것이 알려져 있습니다.
이 사실을 이용하여 음이 아닌 정수가 문자열 number로 주어질 때, 이 정수를 9로 나눈 나머지를 return 하는 solution 함수를 작성해주세요.
처음에는 장황한 문제 속에서 결국 주어진 String number를 정수형으로 변환한 다음 9로 나눈 나머지 구하라는 거 아냐? 해서 아래와 같이 문제를 풀었다.
그런데 두 번째 테스트 케이스 통과에 '실행한 결괏값 0이 기댓값 2과 다릅니다.'를 이유로 실패했다. 그래서 입출력 예시와 같이 주어진 정수의 각 자릿수 값들을 더한 다음 9로 나눈 나머지를 return하는 방식으로 코드를 바꾸었다.
class Solution {
public int solution(String number) {
int answer = 0;
try{
answer = Integer.parseInt(number) % 9;
}catch(NumberFormatException e){
}
return answer;
}
}
class Solution {
public int solution(String number) {
int answer = 0;
String[] numberArr = number.split("");
for(int i=0;i<numberArr.length;i++){
answer += Integer.parseInt(numberArr[i]);
}
return answer%9;
}
}
