[ Lv.1 ] 자릿수 더하기

leeda06·2023년 5월 18일
0

코딩테스트

목록 보기
30/51

문제 설명

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


내 코드

import java.util.*;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        int numN = n;
        int length = (int)(Math.log10(n));
        int maxI = (int)Math.pow(10, length);

        for(int i = 1; i <=  maxI; i *= 10){
            answer += numN % 10;
            numN /= 10;
        }

        return answer;
    }
}

설명

내장 함수

Math.log10(n)

  • n을 10으로 나누어주는 내장함수이다
  • 기본적으로 타입이 double타입이다

Math.pow(10, length)

  • 10length제곱하는 내장함수이다
Math.sqrt()는 거듭제곱을 구하는 내장함수이다

코드

for문

  • i = 1로 초기화하고 10씩 곱하며 i10length제곱만큼 반복한다
  • answer에 numN값의 10을 나누고 나머지값을 더한다
  • 그리고 numN값을 10으로 나눈다
profile
웹솔루션과

0개의 댓글