자릿수 더하기

문제 설명

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

제한 사항

  • N의 범위 : 100,000,000 이하의 자연수

입출력 예

N	answer
123	6
987	24

나의 풀이(JAVA)

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

다른 사람의 풀이(JAVA)

public class Solution {
    public int solution(int n) {
        int answer = 0;
        
        while(n>0) {
            // n의 맨 뒷자리 숫자를 answer에 더함
            answer += n%10;
            
            // 맨 뒷자리 숫자를 더했으므로 10으로 나눠서 앞의 숫자를 맨 뒤로 만듦
            n = n/10;
        }
        
        return answer;
    }
}

나의 풀이(JavaScript)

function solution(n) {
  let answer = 0;
  let arr = n.toString().split("");
  arr.forEach(i => answer += Number(i));
  return answer;
}

다른 사람의 풀이(JavaScript)

풀이1

function solution(n) {
  return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0);
}

풀이2

function solution(n) {
  let answer = 0;
  
  do {
    answer += n%10;
    n = Math.floor(n/10);
  } while(n>0);
  
  return answer;
}

좋은 웹페이지 즐겨찾기