[백준] 1427번: 소트인사이드 (JAVA)

2022. 1. 14. 23:29알고리즘

https://www.acmicpc.net/problem/1427

 

1427번: 소트인사이드

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

www.acmicpc.net

 


 

문제 설명

공백없이 숫자들이 주어지는데, 이 숫자들을 정렬하여 공백없이 출력하면 된다.

코드

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

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		String str = sc.next();
		String[] num = str.split("");
		int arr[] = new int[num.length];

		for (int i = 0; i < num.length; i++) {
			arr[i] = Integer.parseInt(num[i]);
		}

		Arrays.sort(arr);

		for (int i = arr.length - 1; i >= 0; i--) {
			System.out.print(arr[i]);
		}
	}
}

코드 설명

일단 입력을 int가 아닌 String으로 받는다. 이유는 공백을 기준으로 분리(split)시켜서 배열에 하나씩 넣을 것이기 때문이다.

그리고 이 분리시킨 String형 배열을 int형 배열에 넣어주고 Arrays.sort를 이용하여 정렬을 한다.

그다음 내림차순이기 때문에 for문을 거꾸로 돌려서 출력시키면 끝.