알고리즘 문제 풀이/완전탐색
백준 - 한수
가나무마
2021. 12. 12. 02:25
본 알고리즘 풀이는 Routine Study에서 진행하고 있습니다.
저를 포함한 구성원이 대부분 초보이므로, 원하시는분은 언제라도 들어오셔도 좋습니다.
문의는 댓글 바람.
문제 출처 : https://www.acmicpc.net/problem/1065
[문제 설명]
1부터 N까지의 수가 있다. 이 중에 숫자의 각 자릿수가 등차수열을 이루는 경우의 개수를 구하시오.
[접근 방법]
나누기와 나머지 연산을 반복해서 각 자리수의 수가 모두 같으면 추가 하는 방법
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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 answer = 0;
for (int i = 1; i <= N; i++) {
boolean isHansu = true;
int diffrence = ((i/10)%10) - i%10; //십의 자릿수 - 일의 자릿수.
int num = i;
while (num/10 > 0) {
if (diffrence == ((num/10)%10-num%10)) {
isHansu = true;
} else {
isHansu = false;
break;
}
num/=10;
}
if (isHansu) answer++;
}
System.out.println(answer);
}
}