본문 바로가기
코딩 테스트/[JAVA] programmers 코딩 테스트 연습

[No.17] 자릿수 더하기 / 프로그래머스 코딩 테스트 연습 JAVA

by M개발자 2021. 6. 10.
반응형

자릿수 더하기


문제 설명

 

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


예시

n return
123 6
987 24

코드 해석 및 전체 코드

 

알고리즘

1. num(= n)이 0이 아닐 때까지 while문 반복2. answer에 num을 10으로 나누었을 때의 나머지 값 넣기3. num / 10

 

1. num(= n)이 0이 아닐 때까지 while문 반복

n으로 초기화한 int 타입의 num 선언하여 num을 계속 10으로 나누고 0이 되면 더 이상 나눌 10으로 나눌 수 없다는 것을 의미하므로 0이 아닐 때까지 반복한다.

 

2. answer에 num을 10으로 나누었을 때의 나머지값 넣기

num을 10으로 나누었을 때 나머지값은 num의 1의 자릿수와 같기 때문에 answer에 더한다.

다음 1의 자릿수를 더하기 위해 num을 10으로 나눈다. 

 

import java.util.*;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        int num = n;
        
        while(num != 0){
            answer += num % 10;
            num /= 10;
        }
        return answer;
    }
}

속도

아마... c코드로 돌렸을 때의 속도....?? 0.01 ~ 0.03 정도 된다.


github

programmers

반응형

댓글