Solution 1) 내 풀이
class Solution {
    public int solution(String number) {
        String[] strNumber = number.split("");
        int answer = 0;
        
        for(int i = 0; i < strNumber.length; i++) {
            answer += Integer.parseInt(strNumber[i]);
        }
    
        return answer % 9;
    }
}
Solution 2) 다른 사람의 풀이
class Solution {
    public int solution(String number) {
        return number.chars().map(c -> (c - '0') % 9).sum() % 9;
    }
}

1.  number를 .chars()로 문자 스트림으로 변환

2. map으로 각 문자를 정수로 변환(char 타입  9 - '0'은 문자 '9'에서 문자 '0'을 뺀 결과 int 9가 됨, char 타입 9 - 0은 char 타입 9의 아스키코드(정수57)에서 0을 뺀 결과로 57이 계산 됨)

 

이후 각 수들을 모두 나머지 연산자로 9로 나눈다.

3. .sum으로 나온 수들을 모두 합한 뒤 다시 한번 나머지 연산자 9를 사용해 답을 얻어낸다.

+ Recent posts