배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
2143
4321
package com.focusonmx.baekjoon;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class Solution_B1427 {
public static void main(String[] args) {
String input;
Scanner sc = new Scanner(System.in);
input = sc.next();//개행문자를 제외한 한단어 입력 받아들임
String[] arrStr=input.split("");
Integer[] arrInt = new Integer[arrStr.length];
for(int i=0;i<arrStr.length;i++) {
arrInt[i]=Integer.parseInt(arrStr[i]);
}
Arrays.sort(arrInt,Collections.reverseOrder());
for (int i =0;i<arrInt.length;i++) {
System.out.print(arrInt[i]);
}
}
}
next()
: 공백을 기준으로 한 단어 또는 한문자씩 입력 받음 개행문자 전까지만 처리하므로 버퍼에 개행문자가 남아있음.
nextline()
: 한 라인 전체를 입력받음. 개행문자까지 포함하여 처리함.
Hello java 입력시
next()
: Hello만 출력
nextline()
: Hello java출력
String[] split(String regex)
: 문자열을 입력받은 정규표현식 또는 특정 문자를 기준으로 나누어 배열에 저장하여 반환
str = "010-1234-5878";
String[] arrStr=str.split("-");
//arrStr[0] : "010"
//arrStr[1] : "1234"
//arrStr[2] : "5678"
Integer.parseInt(string str)
: 문자 ➡ 숫자
Integer.toString(int n)
: 숫자 ➡ 문자
Arrays.sort(arr)
: 오름차 순 정렬
Arrays.sort(arr,Collections.reverseOrder())
: 내림차 순 정렬