본문 바로가기
코딩테스트/프로그래머스 기초

[코딩테스트 Lv.0] 9로 나눈 나머지

by 블루데이제이 2025. 3. 22.
728x90
반응형
문제 설명

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

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

제한사항
1 ≤ number의 길이 ≤ 100,000
number의 원소는 숫자로만 이루어져 있습니다.
number는 정수 0이 아니라면 숫자 '0'으로 시작하지 않습니다.
입출력 예
number			result
"123"			6
"78720646226947352489"	2
입출력 설명
입출력 예 #1
예제 1번의 number는 123으로 각 자리 숫자의 합은 6입니다. 6을 9로 나눈 나머지는 6이고, 실제로 123 = 9 × 13 + 6입니다. 따라서 6을 return 합니다.

입출력 예 #2
예제 2번의 number는 78720646226947352489으로 각자리 숫자의 합은 101입니다. 101을 9로 나눈 나머지는 2이고, 실제로 78720646226947352489 = 9 × 8746738469660816943 + 2입니다. 따라서 2를 return 합니다.

내 풀이
Java
class Solution {
    public int solution(String number) {
        int answer = 0;
        
        for(int i = 0; i < number.length(); i++){
            answer += Integer.parseInt(String.valueOf(number.charAt(i)));
        }
        
        return answer % 9;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* number) {
    int answer = 0;
    
    int i;
    for(i = 0; i < strlen(number); i++){
        answer += number[i] - 48;
    }
    
    return answer % 9;
}
Python
def solution(number):
    answer = 0
    for i in number:
        answer += int(i)
    return answer % 9

https://school.programmers.co.kr/learn/courses/30/lessons/181914

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

728x90
반응형