백준 1427 소트인사이드 JAVA

해버니·2022년 7월 26일
0

백준

목록 보기
10/11


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;

public class Main {
	public static void main(String args[]) throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int num = Integer.parseInt(br.readLine());
		ArrayList<Integer> arr = new ArrayList<>();
		
		while(num>0) {
			arr.add(num%10);
			num /= 10;
		}
		
		Collections.sort(arr, Collections.reverseOrder());
		
		for(int i: arr) {
			System.out.print(i);
		}
	}
}








어떻게 숫자를 자를까?

정수형으로 숫자를 입력 받은 다음 10의 나머지를 구해 ArrayList에 넣는다.

int num = Integer.parseInt(br.readLine());
		ArrayList<Integer> arr = new ArrayList<>();
		
		while(num>0) {
			arr.add(num%10);
			num /= 10;
		}
        
//import java.util.ArrayList; 필요!






어떻게 정렬할거야?

java의 Collections.sort()를 이용한다.

Collections.sort(arr, Collections.reverseOrder());

//import java.util.Collections; 필요!






어떻게 출력할거야?

ArrayList 그 자체를 출력하면 배열 모양으로 출력이 된다. 그래서 for문을 이용해서 출력을 해줬다.

for(int i: arr) {
			System.out.print(i);
		}
//54321 이렇게 출력이 되고
System.out.println(arr)
//[5, 4, 3, 2, 1] 로 출력이 된다.






Collections.sort()

오름차순으로 정렬
Collection.sort(arr);

내림차순으로 정렬
Collection.sort(arr,Collections.reverseOrder());

대소문자 구분없이 오름차순
Collections.sort(arr, String.CASE_INSENSITIVE_ORDER);

대소문자 구분없이 내림차순
Collection.sort(list,Collections.reverseOrder(string.CASE_INSENSITIVE_ORDER));

0개의 댓글