728x90
코드 힌트
- 문자열로 저장된 숫자의 각 자리수의 합을 구하고 % 9를 구하는 문제입니다.
- 주어진 숫자를 문자열로 받아 각 자리 숫자의 합을 구하고, 그 합을 9로 나눈 나머지를 반환합니다.
- 각 자리수를 구하기 위해서는 for문을 돌아 charAt()으로 하나씩 추출하거나 forEach를 활용하여 toCharArray()를 사용하여 문자를 추출합니다.
- 문자열의 각 문자를 순회하면서 해당 문자를 숫자로 변환하여 합산합니다.
- 이를 위해 toCharArray() 메서드를 사용하여 문자열을 문자 배열로 변환하고, for-each 루프를 사용합니다.
- 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
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 합성수 찾기 (0) | 2024.07.29 |
---|---|
[프로그래머스] 외계행성의 나이 (0) | 2024.07.28 |
[프로그래머스] 분수의 덧셈 (0) | 2024.07.28 |
[프로그래머스] 배열 만들기 3 (0) | 2024.07.28 |
[프로그래머스] 특별한 이차원 배열 1 (0) | 2024.07.28 |