티스토리 뷰

조건

1. 1보다 크고 입력받은 값보다 작거나 같은 한수의 개수를 출력

2. 한수는 각 자리 숫자가 등차수열을 이루는 수

 

문제에서 입력값는 1000까지 넣을 수 있다고 했으니

1~100 의 경우: 모든 수가 한수의 조건을 만족함

100~의 경우: 입력값을 반복하며 세어주면 됨

 

100~의 경우

입력받은 값을 a라고 할때 각 자리수는 이와 같이 구하면 됨.

백의 자리=a/100

십의 자리=(a/10)%10

일의 자리=a%10

한수라는 조건에도 맞아야 하니

(백의 자리)-(십의 자리)=(십의 자리)-(일의 자리)

를 만족하는 수를 구하면 된다.

 

 

전체 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n=Integer.parseInt(br.readLine());
        System.out.println(Num(n));
    }
 
    public static int Num(int n){
        int count=0;
 
        if (n<100){
                return n;
        }
        else{
            count=99;
            for(int i=100;i<=n;i++){
                int a=i/100;
                int b=(i/10)%10;
                int c=i%10;
 
                if(b-a==c-b){
                    count++;                  
                }
            }
        }
        return count;
    }        
}
 
 
cs

 

'알고리즘 공부' 카테고리의 다른 글

[네트워크] HTTP/HTTPS  (1) 2024.03.12
[운영체제] 메모리  (0) 2024.02.20
[백준 11399] ATM  (0) 2024.01.12
[백준 1912] 연속합 - 자바  (0) 2024.01.08
[백준 9095] 1,2,3 더하기 - 자바  (0) 2024.01.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함