📍 문제 설명
💡 접근
99이하는 모두 한수라고 볼 수 있다.
1000보다 작은 수만 들어온다고 했으니
100~999 사이만 걸러내주면된다.
👩💻 코드
import java.io.IOException;
import java.util.*;
class Main {
public static void main(String[] args) throws IOException {
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
//1~99까지는 확인안해도되고
//100부터는 차이가 일정한지 봐야함
System.out.println(solution(n));
}
private static int solution(int n) {
int answer = 0;
//그 숫자만큼이 한수들의 갯수 임
if(n < 100) return n;
//일단 두자릿수까지의 한수를 더하기
if(n > 100) answer += 99;
//세자릿수만 확인하면됨
for(int i = 100; i <= n; i++) {
String[] arr = String.valueOf(i).split("");
int sub1 = Integer.parseInt(arr[2]) - Integer.parseInt(arr[1]);
int sub2 = Integer.parseInt(arr[1]) - Integer.parseInt(arr[0]);
if(sub1 == sub2) answer++;
}
return answer;
}
}