문제
내가 작성한 정답
class Solution {
public int solution(String number) {
int answer = 0;
for(String s : number.split("")){
answer += Integer.parseInt(s);
}
return answer%9;
}
}다른 사람들의 정답
class Solution {
public int solution(String number) {
int answer = 0;
for(int i=0; i<number.length(); i++) {
//문자가 '0'~'9' 사이의 숫자 문자라면, c - '0'을 하면 실제 숫자값으로 변환
answer += number.charAt(i) - '0';
}
answer %= 9;
return answer;
}
}
class Solution {
public int solution(String number) {
// number.chars()로 문자열을 문자들의 유니코드(정수) 스트림으로 변환
return number.chars()
// 각 문자를 '0' 문자코드값을 빼서 숫자로 변환한 후 9로 나눈 나머지로 매핑
.map(c -> (c - '0') % 9)
// 모든 매핑된 값을 합산
.sum()
// 합을 9로 다시 나눈 나머지 반환
% 9;
}
}
Share article