웹 프로그래밍

[프로그래머스(Programmers)] 자릿수 더하기 - JAVA 본문

프로그래머스/level1

[프로그래머스(Programmers)] 자릿수 더하기 - JAVA

B. C Choi 2021. 11. 7. 21:11

문제 설명

 

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return하는 solution 함수를 만들어 주세요.

예를 들어 N = 123 이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 


 

제한 사항

 

N answer
123 6
987 24

 


 

입출력 예 설명

 

입출력 예 #1

문제의 예시와 같습니다.

 

입출력 예 #2

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

 


 

풀이

 

1) 타입 변환을 이용하여 n을 문자열로 변환, 자릿수를 더하기 위해 배열로 반환하는 방법.

import java.util.*;

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

        String str = Integer.toString(n); // 숫자형태의 n을 문자열로 타입 변환
        String[] arr = str.split(""); // split()을 사용하여 문자열을 배열로 반환
        
        for(int i = 0; i < arr.length; i++) {
            answer += Integer.parseInt(arr[i]); // 타입 변환하여 자릿수의 합을 asnwer 저장
        }

        return answer;
    }
}

 

 

2) 타입변화 없이 자릿수의 합을 answer에 담는 방법.

import java.util.*;

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

        while(n > 0) {
            answer += n % 10; // 자릿수의 합을 위한 로직
            
            if(n < 10) {
                break; 
            }
            n /= 10;
        }

        return answer;
    }
}

 

 

 

1 vs 2

속도 : 1 < 2

메모리 사용 : 1 > 2