본문 바로가기
Coding Test

230924 자릿수 더하기 - Level 0

by mmm- 2023. 9. 24.

문제 설명

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

 

제한사항

  • 0 ≤ n ≤ 1,000,000

 

입출력 예

 

입출력 설명

입출력 예 #1

  • 1 + 2 + 3 + 4 = 10을 return합니다.

입출력 예 #2

  • 9 + 3 + 0 + 2 + 1 + 1 = 16을 return합니다.

코드

class Solution {
    public int solution(int n) {
        int answer = 0;
        String tempN = String.valueOf(n);
        
        for(int i=0; i<tempN.length(); i++) {
            answer += tempN.charAt(i) - '0';
        }
        
        return answer;
    }
}

 

풀이

String.valueOf()를 이용해 정수 n을 String으로 변환하여 반복문을 이용해 tempN을 문자형으로 변환 후, 문자에서 숫자로 변환하기 위해 '0'을 해준 값을 answer에 더하는 것을 반복한다.


다른 코드와 풀이

아래의 코드는 다른 사람들이 작성한 것들로, 내 코드와 비교, 참고하기 위해 가져왔다.

 

class Solution {
    public int solution(int n) {
        int answer = 0;

        while(n>0){
            answer+=n%10;
            n/=10;
        }

        return answer;
    }
}

n을 10으로 나눈 나머지를 answer에 더해준 후, n을 10으로 나눠주는 작업을 n이 0보다 크면 계속해서 반복하여 n의 자릿수를 더해준다.