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이하인 수들은 한수인지 판별하는 함수로 검사를해 맞으면 카운트를 증가시킨다.
'ALGORITHM' 카테고리의 다른 글
[JAVA] 알고리즘 : DFS- 이진수 출력(재귀) (0) | 2022.08.08 |
---|---|
[JAVA] 백준 1712번- 손익분기점 (0) | 2022.08.08 |
[JAVA] 백준 14426번- 접두사 찾기 (0) | 2022.08.06 |
[JAVA] 백준 18870번- 좌표 압축 (0) | 2022.08.05 |
[JAVA] 백준 1758번- 알바생 강호 (0) | 2022.08.05 |