등차수열
연속된 두 개의 수의 차이가 일정한 수열
1,3,5,7,9....
한수
어떤 양의 정수 X의 각 자릿수가 등차수열을 이룰 때 X를 한수라고 정의
문제 해설
N입력시 1~N 사이의 수 중 한수의 개수를 출력하라.
단, N은 1000이하의 자연수
일단 N이 1~99사이의 수인 경우 자릿수는 1개 혹은 2개이므로 무조건 한수이다.
N이 세자리수인경우에는 N=abc라고 할때, b-c = c-b 이면 N은 한수라고 볼 수 있다.
import java.util.Scanner;
public class Main {
public static int hansu(int N){
int count = 0;
if(N<100){
return N;
}
else{
count = 99;
for(int i=100; i<=N; i++){
int n3 = i/100;
int n2 = (i/10)%10;
int n1 = i%10;
if((n3-n2)==(n2-n1))count++;
}
}
return count;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(hansu(sc.nextInt()));
sc.close();
}
}
sout문에 바로 hansu(sc.nextInt()) 넣을 수 있는 걸 배웠다.
'자바 > 문제풀이' 카테고리의 다른 글
[JAVA | 백준 1157 ] 단어 공부 (0) | 2022.05.28 |
---|---|
[JAVA | 백준 10809 ] 알파벳 찾기 (0) | 2022.05.22 |
[JAVA | 백준 1110] 더하기 싸이클 (0) | 2022.05.21 |
[JAVA | 백준 2525 ] 오븐 시계 (0) | 2022.05.21 |
JAVA | 백준 17478 | 재귀함수가 뭔가요? (0) | 2022.05.04 |