Java

100~9999999 범위를 갖는 변수 X와 X~9999999 범위를 갖는 변수 Y를 입력 받아 X와Y 사이의 모든 정돈된 수와 전체 개수를 출력하는 프로그램을 작성해라

충 민 2022. 7. 11. 19:16

 


import java.util.ArrayList;
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner sc = new Scanner(System.in);
		
		ArrayList<Integer> num = new ArrayList<>();

		String str = new String();
		int count = 0;
		boolean flag;
	
			
			System.out.println("Input X Number: ");
			int x = sc.nextInt();
			
			System.out.println("Input Y Number: ");
			int y =sc.nextInt();
			
			
			for(int i=x;i<y;i++) {
				num.clear();
				str = Integer.toString(i);
				for(int j=0;j<str.length();j++) {
					num.add(str.charAt(j)-48);
				}
			
			
			flag = true;
			loop:
			for(int k=0; k<num.size();k++) {
				for(int j=k+1;j<num.size();j++) {
					if(num.get(k)>=num.get(j)) {
						flag=false;//앞자리수가 다음자리수보다 크다면 
						break loop;
					}
				}
			}
			if(flag) {
				
				System.out.print(i+"\t");
				count ++;
				
			}
			}
			System.out.println("count:"+count);
			

			
			
		}
	}