본문 바로가기
Java/알고리즘

[프로그래머스/알고리즘] 자릿수 더하기(자바/Java)

by 전재경 2022. 11. 21.

문제 설명

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

 

제한사항

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

 

Step1. 문제분석 

우선 자연수니까 나누기를 해서 1의 자리수를 변수에 더하면 된다.

그러면 %10을 하면 1의 자리수가 나머지가 될 것이고 그 값을 변수에 더하고, 다시 10을 나누면 된다.

 

Step2. 문제풀이 코드

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

 

Step3. 다른 사람의 풀이 코드

import java.util.*;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        String[] array = String.valueOf(n).split("");
        for(String s : array){
            answer += Integer.parseInt(s);
        }
        return answer;
    }
}

이렇게 형변환을 통해 해결할 수도 있는 문제였다.

int N을 문자열 배열로 변환하고, 문자열 배열에서 값들을 Integer.parseInt로 정수로 변환해 더해준다.

 

이렇게 형변환만 알고 있다면 쉽게 풀 수 있는 문제였다.

댓글