알고리즘/백준

[백준1065]- 한수- JAVA

놀이방사장님 2023. 11. 24. 00:00
728x90
반응형

안녕하세요 놀이방사장입니다.

 

이번 포스팅은 백준 1065 한수포스팅입니다.

 

 

 

1065번: 한수

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나

www.acmicpc.net

한수란 135처럼 1-3 => 2차이 3-5 => 2차이 그러면 한수입니다.

2자리수는 어차피 다 한수입니다.

 

브루트포스 알고리즘이니깐 n개 갯수만큼 확인해주면 됩니다.

package me.joyeonggyu;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;

public class Main{
    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(br.readLine());
        bw.write(String.valueOf(HanNumber(n)));
        bw.flush();

        br.close();
        bw.close();
    }

    public static int HanNumber(int n){
        int cnt = 0 ;
        if(n < 100){
            cnt = n;
        }else{
            cnt = 99;
            for(int i=100; i<n+1; i++){
                int one = i/100;
                int two = (i/10)%10;
                int three = i%10;

                if((one-two)==(two-three)){
                    cnt++;
                }
            }
        }

        return cnt;
    }
}

그리고 이 문제는 세자리 수니깐 int형 3개 선언해서 비교해줘도 정답처리됩니다.

 

 

반응형