본문 바로가기

코딩 테스트

[프로그래머스] (Lv.1) 자릿수 더하기

728x90

문제


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

 

 

-  출력 예시  -

정답 코드


<  내 정답 코드  >

import java.util.*;

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

 

<  타인 답변 코드  >

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 형으로 들어온 값을 String 으로 바꾼 다음, 다시 String [] 로 만든다. 그리고 for 문을 통해 하나씩 꺼내면서 다시 int 형으로 바꾼다. 효율적인 면에서 좋을지 몰라도 해당 알고리즘은 앞으로 유용할 것 같다.