티스토리 뷰

728x90
 

1427번: 소트인사이드

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

www.acmicpc.net

 

문제

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

입력

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

출력

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

 

 

 

입력받은 값의 자리수를 내림차순으로 정렬하는 문제다. 입력받은 값을 int형으로 받아 %연산을 통해 배열에 저장할 수도 있겠지만, String으로 입력 받은 후 charAt 메소드를 통해 배열에 숫자 하나씩 저장했다. String을 한 글자씩 자르는 charAt 메소드는 반환값이 char이고, 저장할 배열의 자료형은 int이기 때문에 형변환이 필요하다. char을 바로 int로 바꾸는 메소드는 없기 때문에 char->String->int 순서로 변환했다. 자리수를 저장한 배열을 Arrays.sort 메소드로 오름차순 정렬 후, 내림차순 정렬을 위해 정렬된 배열 값을 역순서로 출력시켰다.

 

package baekjoon;
import java.util.Scanner;
import java.util.Arrays;

public class B_1427 {
	public static void main(String[] args) {
		Scanner stdin = new Scanner(System.in);
		String n = stdin.next();
		stdin.close();
		
		int array[] = new int[n.length()]; 
		for(int i=0;i<n.length();i++)
			array[i]=Integer.parseInt(String.valueOf(n.charAt(i)));
		
		Arrays.sort(array); // 오름차순 정렬
		for(int i=array.length-1;i>=0;i--)
			System.out.print(array[i]);
	}
}

 

 

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함