8일차 - 9로 나눈 나머지

wsung·2025년 11월 19일

4. 9로 나눈 나머지

문제 설명
음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같은 것이 알려져 있습니다.
이 사실을 이용하여 음이 아닌 정수가 문자열 number로 주어질 때, 이 정수를 9로 나눈 나머지를 return 하는 solution 함수를 작성해주세요.

class Solution {
    public int solution(String number) {
        int answer = 0;
        
        // 각 자리 숫자를 순회하며 합 구하기
        for (int i = 0; i < number.length(); i++) {
            answer += number.charAt(i) - '0'; // char -> int
        }
        
        return answer % 9; // 9로 나눈 나머지 반환
    }
}
  • char -> int : 아스키 코드 값 때문에 (- '0') 해줘야함
    '1' - '0' = 49 - 48 = 1
    '2' - '0' = 50 - 48 = 2
    '3' - '0' = 51 - 48 = 3

  • 추가 설명 : char 타입은 아스키 코드값을 사용하여 문자를 저장함. 아스키 코드값은 각 문자에 대해 고유한 숫자 값을 가지고 있음. 문자 '0'의 아스키 코드값은 48이고 문자 '1'의 아스키 코드값은 49. 만약 문자 '1'를 숫자로 변환하고 싶다면, 그 아스키 코드값인 49에서 문자 '0'의 아스키 코드값인 48을 빼야함.

[링크: 9로 나눈 나머지]

profile
0부터 시작하는 백엔드

0개의 댓글