한수
09 June 2019
문제 : https://www.acmicpc.net/problem/1065
이번은 한수를 찾는 문제를 풀어보도록 하겠습니다.
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
int size = scanner.nextInt();
int ret = 0;
for (int i = 1; i <= size; i++) {
String value = String.valueOf(i);
int diff = -1;
boolean isHansu = true;
for (int k = 0; k < value.length() - 1; k++) {
if (k == 0) {
diff = Integer.parseInt(String.valueOf(value.charAt(k))) - Integer.parseInt(String.valueOf(value.charAt(k + 1)));
} else {
int tempDiff = Integer.parseInt(String.valueOf(value.charAt(k))) - Integer.parseInt(String.valueOf(value.charAt(k + 1)));
if (tempDiff != diff) {
isHansu = false;
break;
}
}
}
if (isHansu) {
ret++;
}
}
System.out.println(ret);
}
}
각 자리의 수가 등차수열을 이루는 수를 찾는 문제입니다.각 자리의 수를 String으로 받은 이후, 각 자리의 수를 받아 앞,뒤의 수를 체크하여 차이를 저장합니다.
전체 자리 수를 체크하는 동안 모두의 차가 같으면 ret 값을 1씩 올려주고, 전체 값을 모두 체크하면 종료합니다.