티스토리 뷰
조건
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 |