프로그래머스/Lv. 0(코딩 기초 트레이닝)

[프로그래머스 코딩테스트] 9로 나눈 나머지(Java)

Sigfriede 2023. 4. 29. 03:07

  문제 설명

  음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같은 것이 알려져 있습니다.

  이 사실을 이용하여 음이 아닌 정수가 문자열 number로 주어질 때, 이 정수를 9로 나눈 나머지를 return 하는 solution 함수를 작성해주세요.

 

  제한사항

  • 1 <= number의 길이 <= 100,000
  • number의 원소는 숫자로만 이루어져 있습니다.
  • number는 정수 0이 아니라면 숫자 '0'으로 시작하지 않습니다.

 

  입출력 예

number result
"123" 6
"78720646226947352489" 2
class Solution {
    public int solution(String number) {
        int answer = 0;
        for (String s: number.split("")) {
            answer += Integer.parseInt(s);
        }
        answer %= 9;
        return answer;
    }
}

  for-each문으로 number를 split 메소드로 분리합니다. 분리한 문자를 Integer 클래스의 parseInt로 answer에 더하기 할당 합니다. 더한 최종 값을 9로 나눈 나머지를 answer에 할당합니다. whlie문으로 자릿수를 구하는 방법도 있습니다. 그러나 매개변수가 문자열이기 때문에 문자로 쪼개어 구하는 방법을 활용했습니다.