본문 바로가기

자릿수 더하기

programmers code review/_step1 2021. 8. 17.
728x90

프로그래머스 1단계 Java 자릿수 더하기 문제입니다.


문제 설명

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

 

문제 해결 방법

① 자연수 N의 가장 높은 자릿수를 계산하여 반환할 변수에 덧셈

② 계산된 자릿수는 중복되지 않도록 뺄셈

③ 자연수 N의 자릿수만큼 반복

 


더보기
public class Solution {
    public int solution(int n) {
        int answer = 0;
        
        // ③ 자연수 N의 자릿수만큼 반복
        for(int i = Integer.toString(n).length() - 1; i >= 0 ; i--){
            // ① 자연수 N의 가장 높은 자릿수를 계산하여 반환할 변수에 덧셈
            answer += n / Math.pow(10, i);
            // ② 계산된 자릿수는 중복되지 않도록 뺄셈
            n -= ((int)(n / Math.pow(10, i))) * Math.pow(10, i) ;
        }
        return answer;
    }
}

 

※ 위 코드는 해결 방법 중 한가지이며 더 효율적인 코드가 있을 수 있습니다.

 

문제 풀어보기 ▶ https://programmers.co.kr/learn/courses/30/lessons/12931?language=java
 

코딩테스트 연습 - 자릿수 더하기

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출

programmers.co.kr

'programmers code review > _step1' 카테고리의 다른 글

약수의 합  (0) 2021.08.17
이상한 문자 만들기  (0) 2021.08.17
자연수 뒤집어 배열로 만들기  (0) 2021.08.17
정수 내림차순으로 배치하기  (0) 2021.08.13
정수 제곱근 판별  (0) 2021.08.13

댓글