주니어 기초 코딩공부/JAVA_programmers_코딩테스트

자릿수 더하기_programmers_lev00

jju_developer 2022. 12. 2. 13:31
728x90

<코딩 테스트>

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요

 

<나의 풀이 과정>

우선, n 이하의 수를 뽑아내려고 생각했습니다.

그 후 각 자리수의 n을 10으로 나눈 나머지를 answer에 담은 후 계속해서 더하는 코드를

구현하였습니다. n을 계속 10으로 나누다 보면 0으로 나오는 순간까지 반복합니다.

 

<나의 풀이 코드>

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

 

 

<다른사람 풀이 1>

class Solution {
    public int solution(int n) {
        int answer = 0;
        String str = Integer.toString(n);
        String[] arr = str.split("");

        for(int i = 0; i < arr.length; i++) {
            answer += Integer.parseInt(arr[i]);
        }
        return answer;
    }
}

<다른사람 풀이 2>

import java.util.Arrays;

class Solution {
    public int solution(int n) {
        return Arrays.stream(String.valueOf(n).split("")).mapToInt(Integer::parseInt).sum();
    }
}
728x90