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;
}
}
'Java > 코딩테스트 연습 & 실습' 카테고리의 다른 글
[Java] 이진검색 재귀함수로 구현하기 (0) | 2022.07.13 |
---|---|
[Java] (실습) Baby-gin (1) | 2022.07.11 |
[Java] (실습) 자바 로또 프로그램 (0) | 2022.07.11 |
[Java] (실습) 가장 작은 수로 변환 (0) | 2022.07.11 |
[Java] 별 찍기 예제 (중첩 for문) (1) | 2022.06.22 |