코딩테스트

[JAVA] 정돈된 수 출력

dackyy 2022. 7. 11. 17:35
반응형
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class OrderlyNumber {

	static ArrayList<Integer> num = new ArrayList<Integer>();
	static ArrayList<Integer> result = new ArrayList<Integer>();

	public static void main(String args[]) {
		int num;
		Scanner sc = new Scanner(System.in);
		System.out.print("정돈된 수를 출력할 범위를 입력해주세요  :");
		num = sc.nextInt();
		System.out.print("정돈된 수를 출력할 범위를 입력해주세요  :");
		findOrderly(num, sc.nextInt());
		
	}
	
	static void findOrderly(int val1, int val2){
		for(int i = val1; i<= val2; i++){
			int temp = i;
			int cnt = 0;
			num.clear();
			while(temp>0) {
				num.add(temp%10);
				temp /= 10;
			}
			Collections.reverse(num);
			Integer[] arr = num.toArray(new Integer[0]);
			
			for (int j = 0; j <arr.length;j++){
				if (j < num.size()-1) {
					int num1 = arr[j];
					int num2 = arr[j+1];
					if (num1 < num2) {
						cnt++;
					}
				}
				
			}
			if (cnt == arr.length-1) {
				result.add(i);
			}
			
		}
		for(int i=0;i<result.size();i++) {
			System.out.print(result.get(i)+ " ");
		}
		System.out.println("\n Count : " + result.size());
	}
}
반응형