본문 바로가기
Algorithm/프로그래머스

[프로그래머스]연습문제 : 자릿수 더하기 (level 1)

by HBGB 2019. 11. 7.

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

 

코딩테스트 연습 - 자릿수 더하기 | 프로그래머스

자연수 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 하면 됩니다.

programmers.co.kr

 

 

방법 1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.*;
 
public class Solution {
    public int solution(int n) {
 
        String strN = n + "";
        int answer = 0;
        
        // '각 자리의 숫자'를 구해서 계산
        for (int i = 0; i < strN.length(); i++) {
            answer+= (strN.charAt(i) - '0');
        }
 
        return answer;
    }
}
Colored by Color Scripter

 

방법 2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.*;
 
public class Solution {
    public int solution(int n) {
 
        int answer = 0;
 
        // 일의 자리 값을 더한 후 나누기 10
        while (n != 0) {
            answer += n % 10;
            n /= 10;
        }
        return answer;
    }
}

 

 

방법 2가 훨씬 빠르다

String으로의 형변환속도를 많이 잡아먹는 것 같다 

 

댓글