코드트리 방학 조별과제-큰 숫자 자리수의 합

onebbu·2024년 8월 20일
0
post-custom-banner

문제

세자리수 3개를 인자로 받은 후 모든 수를 곱함
결과 값 각 자리 수를 구하기

내 풀이방법

  1. 세 자리 수를 곱함
  2. 마지막 일의 자리 수만 제외하고 더하기
  3. 일의 자리수는 재귀함수가 끝날 때 더하기

내 코드

import java.util.Scanner;


public class Main {


    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        int result = 1;
        for(int i=0; i<3; i++){
            result *= sc.nextInt();
        }
        System.out.println(func(result));
    }

    public static int func(int num){
        if(num == 0) return 0;
        if(num < 10) return num;
        return num%10 + func(num/10);
    }

}

모범코드

import java.util.Scanner;

public class Main {    
    // n의 각 자릿수의 합을 반환합니다.
    public static int digitSum(int n) {
        if(n < 10)
            return n;
    
        return digitSum(n / 10) + n % 10;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 변수 선언 및 입력:
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();

        System.out.print(digitSum(a * b * c));
    }
}
profile
기록하는 습관
post-custom-banner

0개의 댓글