loading
본문 바로가기
Coding/Programers

[ Programmers ] 9로 나눈 나머지 ( java ) 39 / 124

by NeuLyeo 2023. 12. 28.

[ Programmers ] 9로 나눈 나머지 ( java ) 39 / 124

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

📚 Table of Contents

     

     

     

     

    문제

    문제 설명

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

     

     

    제한사항

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

     

     

    입출력 예

     

     

     

     

    문제 풀이

    코드 설명

    코드의 목적:

    • 이 코드는 주어진 문자열 number에서 숫자들을 모두 더한 값을 9로 나눈 나머지를 계산하는 알고리즘을 구현합니다.

     

    코드의 주요 구조:

    1. 클래스 정의: Solution 클래스를 정의합니다.
    2. 메서드 정의: solution 메서드를 정의합니다.

     

    코드의 주요 알고리즘:

    1. 변수 초기화: 숫자의 합을 저장할 변수 n을 0으로 초기화합니다.
    2. 문자열 순회:
      • number 문자열을 문자 배열로 변환한 뒤, 각 문자 c에 대해 다음을 수행합니다.
        • c를 숫자로 변환하여 n에 더합니다. (문자 '0'의 아스키 코드 값을 빼서 숫자로 변환)
    3. 9로 나눈 나머지 계산: n을 9로 나눈 나머지를 계산하여 반환합니다.

     

    코드의 핵심:

    • toCharArray 메서드를 사용하여 문자열을 문자 배열로 변환합니다.
    • 문자의 아스키 코드 값을 이용하여 문자를 숫자로 변환합니다.
    • % 연산자를 사용하여 나머지를 계산합니다.

     

     

     

    풀이

    class Solution {
        public int solution(String number) {
            int n = 0;  // 숫자의 합 저장 변수
    
            // 문자열의 각 문자를 숫자로 변환하여 더하기
            for (char c : number.toCharArray()) {
                n += c - '0';  // 문자를 숫자로 변환 (문자 '0'의 아스키 코드 값을 빼서 숫자로 변환)
            }
    
            // 9로 나눈 나머지 계산
            return n % 9;
        }
    }

     

     

     

    class Solution {
        public int solution(String number) {
    
            return number.chars().map(i -> i - '0').sum() % 9;
    
        }
    }