Develop/Algorithm

[프로그래머스] 자릿수 더하기 / Level 1 / JAVA

HongUniverse 2022. 12. 26. 13:23
반응형

✏️ 문제

: 자릿수 더하기 

 

✏️문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.

예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 

✏️제한사항

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

 

✏️입출력 예

N answer
123 6
987 24

1) 시도 : 100점

import java.util.*;

public class Solution {
    public int solution(int n) {
        String numStr = String.valueOf(n);
        List<String> strList = Arrays.asList(numStr.split(""));
        int sum = strList.stream().mapToInt(Integer::parseInt).sum();
        return sum;
    }
}

2) 다른 사람 풀이 참조 

import java.util.*;

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;
    }
}

3) 셀프 피드백

다른 사람들 풀이 참고했는데 참 똑똑하신것 같다. 당연히 타입을 바꾸는 과정이 있을 거라고 생각했는데, 10으로 나눠서 1의자리 합을 구하는 아이디어도 있다는 것을 알게 되어서 신기했다. 

나는 문자열로 변환하고 한자리씩 나우어 리스트에 담고, 스트림을 이용하여 총 합계를 구하였다.

 

반응형