
내가 생각했을때 문제에서 원하는부분
음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같은 것이 알려져 있습니다.
이 사실을 이용하여 음이 아닌 정수가 문자열 number로 주어질 때, 이 정수를 9로 나눈 나머지를 return 하는 solution 함수를 작성해주세요.
내가 이 문제를 보고 생각해본 부분
solution 메서드는 입력된 문자열 number의 각 자리 숫자를 하나씩 꺼내 더한다.
각 문자의 숫자 값은 charAt(i) - '0'로 구한다. 예를 들어 문자 '3'은 숫자 3으로 변환된다.
모든 자리 숫자 합이 계산되면, 합을 9로 나눈 나머지를 반환한다.
main 메서드에서 solution 메서드를 호출해 테스트 케이스를 실행하고, 결과를 콘솔에 출력한다.
코드로 구현
class Solution {
public int solution(String number) {
int sum = 0;
for (int i = 0; i < number.length(); i++) {
sum += number.charAt(i) - '0';
}
return sum % 9;
}
}
프로그래머스 코드
package programmers;
// 프로그래머스 9로 나눈 나머지
public class Main31 {
public static void main(String[] args) {
Main31 sol = new Main31();
String testNumber1 = "123";
String testNumber2 = "78720646226947352489";
System.out.println(sol.solution(testNumber1)); // 6 출력
System.out.println(sol.solution(testNumber2)); // 2 출력
}
public int solution(String number) {
int sum = 0;
for (int i = 0; i < number.length(); i++) {
sum += number.charAt(i) - '0';
}
return sum % 9;
}
}
위에 있는 코드를 변경한 코드
코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.