본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1854 : 재귀로 각 자리 수의 합 리턴하기

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1854 : [기초-재귀함수] 재귀로 각 자리 수의 합 리턴하기 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

long long int 형 정수(n) 1개가 입력된다.
(1 <= n <= 9223372036854775807)

출력

각 자리 수의 합을 출력한다.

예시

  • 입력 : 1234
  • 출력 : 10

Solution (풀이)

  • 풀이 : 메모리 11156, 시간 : 68
public class Answer1 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String number = br.readLine(); // 어짜피 charAt을 이용할것이기 때문에 문자열로 받는다.

        // 인덱스, 입력받은 숫자, 총 합
        loop(0, number, 0);
    }

    public static void loop(int index, String number, int total) {

        if (index==number.length()) {
            System.out.println(total);
        } else {
            // 각자리 숫자를 charAt을 이용하여 더한다.
            loop(index+1, number, total+number.charAt(index)-48);
        }

    }

}

Ranking(순위)

반응형