본문 바로가기

생각정리/코딩테스트

[JAVA][Level1]PROGRAMMERS 자릿수 더하기

자릿수 더하기


문제 설명

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

제한사항

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

입출력 예

N answer
123 6
987 24

입출력 예 설명

입출력 예 #1
문제의 예시와 같습니다.

입출력 예 #2

9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.


나의 문제풀이

public class Solution {
    public int solution(int n) {
        int answer = 0;
        String[] num = String.valueOf(n).split("");
        
        for (int i = 0; i < num.length; i++) {
            answer += Integer.parseInt(num[i]);
        }
        return answer;
    }
}
  • String.valueOf()를 이용해서 정수를 문자열로 만들고 split()을 이용해 한 자리씩 나누어서 String배열에 넣어준다.
  • 배열의 크기만큼 반복하여 배열의 수를 꺼내 정수형으로 변환하여 더해준다.

형변환 함수들을 통해서 손 쉽게 풀 수 있었다. 수를 받아 변환할 때는 수식으로 하지 못 할 작업은 대부분 문자열로 만들어서 작업을 하면 변환이 가능해 보인다. 
문자열로 변환하는 함수 : String.valueOf
숫자로 변환하는 함수 : Integer.parseInt, Long.parseLong 등은 눈에 익혀두면 알고리즘 문제 외에도 자주 사용할 것 같다.

 

 

문제 출처 - https://school.programmers.co.kr/learn/courses/30/lessons/12931