import java.util.ArrayList;
import java.util.Scanner;
public class Q2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
try {
System.out.println("Input X Number : ");
int x = sc.nextInt();
System.out.println("Input Y Number : ");
int y = sc.nextInt();
orderlyNumber(x,y);
} catch(Exception e) {
System.out.println("잘못 입력하셨습니다. ");
}
}
// x~y 까지의 정돈된 수를 출력
public static void orderlyNumber(int a, int b) {
ArrayList<Integer> result_arr = new ArrayList<>();
for(a = a; a<b; a++) {
if(isOrderly(a)) {
result_arr.add(a);
}
}
for(Integer g : result_arr) {
System.out.print(g+" ");
}
System.out.println("\nCount : "+result_arr.size());
}
//정돈된 수인지 확인하는 메서드
public static boolean isOrderly(int a) {
ArrayList<Integer> arr = new ArrayList<>();
boolean result = false;
boolean temp = true; // 모든 자릿 수가 정돈되어야 함으로 그 전 상태를 기억하기 위함
// 숫자 문자열로 변경
String str = String.valueOf(a);
// 문자열 한 글자 씩 int로 변환 후 arr에 저장
for(int i=0; i<str.length(); i++) {
arr.add(Character.getNumericValue(str.charAt(i)));
}
// 정돈된 수인지 확인
for(int i=0; i<arr.size()-1; i++) {
if(arr.get(i) < arr.get(i+1) && temp == true) {
temp = true;
result = true;
} else {
temp = false;
result = false;
}
}
return result;
}
}