csmoon1010의 SW 블로그

[200512] 자릿수 더하기 - 연습문제(level1) 본문

Coding Test/프로그래머스

[200512] 자릿수 더하기 - 연습문제(level1)

csmoon1010 2020. 5. 12. 10:20

1. 문제이해

- 자연수 N의 각 자릿수의 합을 구해서 retrun

 

2. 전략

- n을 String으로 변환 후 split하여 각 자릿수를 담은 String 배열 만들기

(Integer.toString(n).split(""))

- 다시 int형으로 변환 해 answer에 더하기

(Integer.parseInt(s[i]))

 

3. 참고사항

- 내 코드의 문제점 : 리소스를 많이 요구, 타입변환의 부담

- 다른풀이 - 타입변환 없이 풀기 : n > 10인 동안 n%10의 값을 더하기 --> 맨 뒷자리부터 차례로 더하기

 

4. 코드

import java.util.*;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        String[] s = Integer.toString(n).split("");
        for(int i = 0; i < s.length; i++){
            answer += Integer.parseInt(s[i]);
        }
        return answer;
    }
}
Comments