Algorithm

[1065] 함수 - 한수

jaamong 2022. 4. 11. 12:29

문제

 

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        // 1. 한 자리 숫자는 한수로 정의
        // 2. 두 자리 숫자는 모두 공차가 정해진 등차수열이므로 한수임
        // 3. 세 자리 숫자는 공차를 계산해 등차수열인지 확인 필요
        // 4. 입력값은 1000 이하의 숫자, 1000은 한수가 아니므로 세 자리 숫자가 등차수열인지 확인

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());

        if (n < 100) { //한 자리 수 ~ 두 자리 수
            System.out.println(n);
        } else {
            int res = 99;
            for (int i = 111; i <= n; i++) {
                res += han(i);
            }
            System.out.println(res);
        }
    }

    private static int han(int n) {
        int hun = n / 100;
        int ten = n % 100 / 10;
        int one = n % 10;

        if (ten * 2 == hun + one) {
            return 1;
        }

        return 0;
    }
}