본문 바로가기

프로그래머스(Java)/Level 0

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

728x90

코드 힌트

  1. 문자열로 저장된 숫자의 각 자리수의 합을 구하고 % 9를 구하는 문제입니다.
    • 주어진 숫자를 문자열로 받아 각 자리 숫자의 합을 구하고, 그 합을 9로 나눈 나머지를 반환합니다.
  2. 각 자리수를 구하기 위해서는 for문을 돌아 charAt()으로 하나씩 추출하거나 forEach를 활용하여 toCharArray()를 사용하여 문자를 추출합니다.
    • 문자열의 각 문자를 순회하면서 해당 문자를 숫자로 변환하여 합산합니다.
    • 이를 위해 toCharArray() 메서드를 사용하여 문자열을 문자 배열로 변환하고, for-each 루프를 사용합니다.
  3. char타입으로 출력된 문자를 그대로 숫자로 저장하기 위해서는 char - '0'을 사용하는 것이 좋습니다.
    • '0'을 빼는 이유: char 타입은 아스키 코드값으로 저장됩니다. 예를 들어, '1'의 아스키 코드 값은 49입니다. 따라서 '1'을 숫자로 변환하려면 '1' - '0'을 수행해야 합니다. 이는 49 - 48이므로 1이 됩니다.

 


정답은 더보기 클릭

더보기
class Solution {
    public int solution(String number) {
        int sum = 0;
        
        // 문자열을 문자 배열로 변환하고 각 문자를 순회합니다.
        for (char c : number.toCharArray()) {
            // 문자를 숫자로 변환하여 합산합니다.
            sum += c - '0';
        }
        
        // 합을 9로 나눈 나머지를 반환합니다.
        return sum % 9;
    }
}
728x90