본문 바로가기
알고리즘/문제 풀이

[Java] 프로그래머스 > 자릿수 더하기

by _eunji_ 2022. 1. 13.

https://programmers.co.kr/learn/courses/30/lessons/12931

 

코딩테스트 연습 - 자릿수 더하기

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출

programmers.co.kr

 

문제 설명

  • 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 값 구하기
  • N의 범위 : 100,000,000 이하의 자연수

N의 범위가 커서 반복문을 생각하기에 생각이 꼬여버릴 것 같아 형변환하는 방법으로 풀었다.

int값 N을 string으로 바꿔서 split()함수를 이용해서 분리하여 배열에 저장하고

다시 int값으로 바꿔서 합산하는 방법이다.

 

그런데 제출하고 보니 다른 사람 풀이는 더 쉽다..^^

 

 

내 풀이

import java.util.*;

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

        String str = Integer.toString(n);
        String arr[] = new String[str.length()];

        arr=str.split("");


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


        return answer;
    }
}

 

다른 풀이 참고

import java.util.*;

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

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

        return answer;
    }
}

댓글