본문 바로가기
코딩테스트/백준

[백준/java] 1427번: 소트인사이드 - Collections.reverseOrder()활용

by drCode 2021. 4. 29.
728x90
반응형

백준 1427번 소트인사이드

 

문제

배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.

입력

첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.

출력

첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.

 

 

※ 알아두면 좋은 기능

Collections.reverseOrder() <<<< 역순으로 정렬할 수 있게 해주는 것.

 

(1) 문자열로 받아서

(2) Integer형 배열로 받은 다음,

(3) 문자열의 길이만큼 배열에 넣어주고

(4) Arrays.sort()를 이용해서 정렬을 실행, 이때 Collections.reverseOrder()를 이용하면 한번에 역순으로 정렬 가능

 

package sort;

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

public class SortInside {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();
		int len = str.length();
		int num = Integer.parseInt(str);
		Integer[] arr = new Integer[len];
		while(len > 0) {
			arr[str.length() - len] = num / (int)Math.pow(10, len-1);
			num %= (int)Math.pow(10, len-1);
			len--;
		}
		
		Arrays.sort(arr, Collections.reverseOrder());
		for (int i = 0; i < arr.length; i++) System.out.print(arr[i]);
	}
}
728x90
반응형

댓글