ALGORITHM
[JAVA] 백준 1065번- 한수
연듀
2022. 8. 7. 10:43
https://www.acmicpc.net/problem/1065
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나
www.acmicpc.net
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int cnt = 0;
for (int i = 1; i <= n; i++) {
if (i < 100) cnt++;
else cnt += isHanNumber(i);
}
System.out.println(cnt);
}
public static int isHanNumber(int num) {
int a = num / 100;
int b = (num % 100) / 10;
int c = (num % 100) % 10;
if(a-b == b-c) return 1;
return 0;
}
}
단계별 분류에서 함수 부분이었기 때문에 한수인지를 판별하는 함수를 만들어 풀었다.
100미만의 수들은 모두 한수이기 때문에 무조건 카운트를 증가시키고, 100이상 1000이하인 수들은 한수인지 판별하는 함수로 검사를해 맞으면 카운트를 증가시킨다.
반응형