CT

[BOJ] 5단계 함수

kinggora 2023. 1. 25. 18:29
1 15596 정수 N개의 합
public class Test {
    long sum(int[] a) {
        long ans = 0;
        for(int i = 0; i < a.length; i++){
            ans += a[i];
        }
        return ans;
    }
}

 

2 4673 셀프 넘버
public class Main{
    public static void main(String[] args){
        boolean[] check = new boolean[10001];

        for(int i = 1; i < 10001; i++){
            int n = d(i);

            if(n < 10001){
                check[n] = true;
            }

        }

        for(int i = 1; i < 10001; i++){
            if(!check[i]){
                System.out.println(i);
            }
        }
    }

    public static int d(int num){
        int result = num;

        while(num != 0){
            result += num%10;
            num = num/10;
        }
        return result;
    }
}

 

3 1065 한수
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println(d(sc.nextInt()));
    }

    public static int d(int num){
        if(num < 100){
            return num;
        }

        int result = 99;

        for(int i = 100; i <= num; i++){
            int hun = i/100;
            int ten = (i/10)%10;
            int one = i%10;

            if((hun-ten) == (ten-one)){
                result++;
            }
        }
        return result;
    }
}

* 1~99는 모두 한수(자릿수가 등차수열)