🧩PS/🥉Easy
[JAVA] 백준 1065번 - 한수
Cocoon_
2021. 9. 30. 16:32
반응형
<코드>
import java.util.*;
public class Main {
public static boolean funtion(int X) {
boolean b = true;
// X가 100미만인 경우엔 무조건 한수
if(X >= 100) {
int now = X % 10;
X /= 10;
int next = X % 10;
X /= 10;
int diff = now - next;
while(X != 0) { // 각 자리수가 등차수열인지 판별
now = next;
next = X % 10;
X /= 10;
if(now - next != diff) { // 등차수열이 아니라면 탈출
b = false;
break;
}
}
}
return b;
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
boolean[] check = new boolean[1001];
int[] ans = new int[1001];
int cnt = 0;
int N = sc.nextInt();
for(int i = 1; i <= 1000; i++) {
if(funtion(i)) {
check[i] = true;
cnt++;
}
ans[i] = cnt; // 1~i 사이에서의 한수 개수(cnt)
}
System.out.println(ans[N]);
}
}
https://www.acmicpc.net/problem/1065
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나
www.acmicpc.net
반응형