알고리즘_22번-2021.11.10

Jonguk Kim·2021년 11월 9일
0

알고리즘

목록 보기
1/15

1. 문제: 자릿수 더하기

  • 문제 설명

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

  • 제한사항

    N의 범위 : 100,000,000 이하의 자연수

  • 입출력 예

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


2. 설계 및 구현

  • 분류
    • 입력값: 0 < N < 100,000,000
    • 처리: N의 각 자릿수를 분리
    • 출력값: 분리한 자릿수의 합
  • 생각
    • 나머지: 123 % 10 = 3, 몫: 123 / 10 = 12
    • 나머지: 12 % 10 = 2, 몫: 12 / 10 = 1
    • 나머지: 1 % 10 = 1, 몫: 1 / 10 = 0
    • 반복문을 이용하여 나머지값으로 자릿수 가져오고, 합침
  • 성공코드
public class Solution {
    public int solution(int n) {
        int result = 0;
        
        // 나머지로 자릿수 구하고, 몫으로 자릿수 차례대로 자름
        // 123 % 10 = 3, 123 / 10 = 12
        // 12 % 10 = 2, 12 / 10 =1
        // 1 % 10 = 1, 1 / 10 = 0
        while(n > 0){
            result += n % 10;
            n = n / 10;
        }
        return result;
    }
}
  • 참조코드
public class Solution {
    public int solution(int n) {
        int answer = 0;

        while(true){
            answer+=n%10;
            if(n<10)
                break;

            n=n/10;
        }
        return answer;
    }
}

3. 배운 것 / 느낀점

  • 참조코드에서 조건에 만족하면 break를 이용하여 반복문을 빠져나오게 할 수 있는 것
profile
개발일지

0개의 댓글