프로그래머스 9로 나눈 나머지

KIMYEONGJUN·2026년 5월 25일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

음이 아닌 정수를 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;
    }
}

위에 있는 코드를 변경한 코드

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글