[JAVA]백준1065번 한수
오늘은 백준1065번 한수 문제를 풀어보도록 하자. 요즘 자바공부를 하고 있어서 자바로 풀어보았다.
각 수들의 차이가 같은 등차수열인 수가 있으면 카운트를 해주면 된다. (그냥 수학문제)
문제는 다음과 같다.
[접근법]
1. 예외처리를 위해 만일 입력받은 문자열이 3자리 아래면 모두 등차수열이기 때문에 입력받은 수를 그대로 출력해준다.
2. 만일 100보다 크다면 각 자리의 차이가 같으면 cnt++를 해주고 값을 하나 빼준다. 끝났으면 출력해준다.
[코드]
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cnt = 99;
int N;
String s = br.readLine();
if(s.length()<3) {
System.out.println(s);
}
else {
while(Integer.parseInt(s) > 100) {
if(s.charAt(0) - s.charAt(1) == s.charAt(1) - s.charAt(2)) {
cnt++;
}
N = Integer.parseInt(s);
N--;
s = Integer.toString(N);
}
System.out.println(cnt);
}
}
}