자릿수 더하기



  • 문제 설명

    자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

    제한사항
    • N의 범위 : 100,000,000 이하의 자연수

##### 입출력 예

N answer
123 6
987 24

##### 입출력 예 설명

입출력 예 #1 문제의 예시와 같습니다.

입출력 예 #2 9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.



  • 풀이

    String으로 타입 변환 후 split으로 각 숫자를 분리, 다시 int타입으로 형변환 해서 더하기

    public class Solution {
        
        public int solution(int n) {
            int answer = 0;
            String[] num = String.valueOf(n).split("");
              
            for (int i = 0; i < num.length; i++) 
                answer += Integer.parseInt(num[i]);
              
            return answer;
        }
    }
    


    효율성은 좋지 않음

    👇아래는 다른 사람의 코드. 식으로 해결이 가능하다.

    public class Solution {
        public int solution(int n) {
            int answer = 0;
      
            while(true){
                answer+=n%10;
                if(n<10)
                    break;
      
                n=n/10;
            }
            
            return answer;
        }
    }