
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
System.out.print(fx(num1));
}
public static int fx(int num) {
int count = 0;
if (num < 100) {
return num;
} else {
count = 99;
for (int i = 100; i <= num; i++) {
int a = i / 100;
int b = (i / 10) % 10;
int c = (i % 10);
if ((b - a) == (c - b)) {
count++;
}
}
}
return count;
}
}
먼저 문제를 봤을 때 각 자리의 수가 등차수열을 이룬다고 했기 때문에 각 자리의 수를 뺐을 때 나오는 수가 같아야 한다는 것까지는 생각을 했다.
예를 들어, 123이라는 수는 2-1=1, 3-2=1이기때문에 등차수열을 이룬다.
그리고 count를 통해 수를 세기로 했다.
그런데 100 미만의 수는 그 값 자체로 등차수열을 이루고 있다는 생각을 하지 못해서 계속 틀렸다ㅠㅠ
이 링크 속 코드를 참고하여 해결하게 되었다.