코딩테스트
백준 1065: 한수[JAVA]
stdio.han
2024. 4. 17. 23:39
https://www.acmicpc.net/problem/1065
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나
www.acmicpc.net


[난이도]
- Silver 4
[알고리즘]
- 부르트 포스
[코드]
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
if (N < 100) {
System.out.println(N);
} else {
int answer = 99;
for (int i = 100; i <= N; i++) {
int hundreds = i / 100; // 100의 자리
int tens = (i / 10) % 10; // 10의 자리
int units = (i % 10); // 1의 자리
if ((hundreds - tens) == (tens - units)) {
answer++;
}
}
System.out.println(answer);
}
}
}
[풀이]
N이 99이하일 경우에는 모든 수가 등차수열을 이룬다.
N이 100이상일 경우에는 (100의 자리 - 10의 자리) == (10의 자리 1의 자리) 일 경우에 등차수열을 이룬다 라고 말할 수 있다.