Jun's Development Journey

[BOJ] 1065번 한수 본문

BOJ/단계별로 풀어보기

[BOJ] 1065번 한수

J_Jayce 2021. 3. 23. 22:50

문제

www.acmicpc.net/problem/1065

 

1065번: 한수

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나

www.acmicpc.net

풀이

(메모리 : 16424KB, 시간 : 156ms)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;


public class Main {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		StringTokenizer st;
		int N = Integer.parseInt(br.readLine());
		int cnt=0;
		for(int i=1;i<=N;i++) {
			boolean chk=true;
			String tmp = i+"";
			int len = tmp.length();
			if(len==1 || len==2)
				cnt++;
			else {
				int cmp =(tmp.charAt(1)-'0')-(tmp.charAt(0)-'0');
				for(int j=1;j<len-1;j++) {
					if((tmp.charAt(j+1)-'0')-(tmp.charAt(j)-'0')!=cmp) {
						chk = false;
						break;
					}
				}
				if(chk)
					cnt++;
					
			}
		}
		System.out.println(cnt);
	}
}