[백준] 1427번. 소트인사이드 (Java)

kimjy·2021년 7월 24일
0

알고리즘

목록 보기
4/11
post-thumbnail

[문제 바로가기] https://www.acmicpc.net/problem/1427

문제

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

입력

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

출력

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


풀이

  1. 문자열로 받아서 char 타입 배열로 만들기 -> toCharArray() 사용
  2. Arrays.sort() 이용해서 배열값 비교 & 정렬
  3. 내림차순으로 출력하라고 했으므로 거꾸로 출력
  • Arrays.sort() 자체를 내림차순으로 정렬하기

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

    Collections.reversOrder()란 반대로 정렬하라는 의미이다.


코드

import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String N = sc.nextLine();
		
		char[] str = N.toCharArray();
		Arrays.sort(str);
		
		//내림차순
		for(int i = str.length-1; i >=0; i--) {
			System.out.print(str[i]);
		}
	}
}
profile
초보 개발자

0개의 댓글