[ 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로 나눈 나머지를 계산하는 알고리즘을 구현합니다.
코드의 주요 구조:
- 클래스 정의:
Solution
클래스를 정의합니다. - 메서드 정의:
solution
메서드를 정의합니다.
코드의 주요 알고리즘:
- 변수 초기화: 숫자의 합을 저장할 변수
n
을 0으로 초기화합니다. - 문자열 순회:
number
문자열을 문자 배열로 변환한 뒤, 각 문자c
에 대해 다음을 수행합니다.c
를 숫자로 변환하여n
에 더합니다. (문자 '0'의 아스키 코드 값을 빼서 숫자로 변환)
- 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;
}
}
'Coding > Programers' 카테고리의 다른 글
[ Programmers ] 배열 만들기 5 ( java ) 41 / 124 (0) | 2023.12.30 |
---|---|
[ Programmers ] 문자열 여러 번 뒤집기 ( java ) 40 / 124 (1) | 2023.12.29 |
[ Programmers ] 글자 이어 붙여 문자열 만들기 ( java ) 38 / 124 (0) | 2023.12.28 |
[ Programmers ] 주사위 게임 3 ( java ) 37 / 124 (0) | 2023.12.28 |
[ Programmers ] 간단한 논리 연산 ( java ) 36 / 124 (0) | 2023.12.28 |