티스토리 뷰
728x90
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하고자하는 수 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
'algorithm > BOJ' 카테고리의 다른 글
[백준 알고리즘/BOJ] 자바(java) 1316번 그룹 단어 체커 (0) | 2021.02.18 |
---|---|
[백준 알고리즘/BOJ] 자바(java) 1436번 영화감독 숌 (0) | 2021.02.17 |
[백준 알고리즘/BOJ] 자바(java) 2609번 최대공약수와 최소공배수 (0) | 2021.02.16 |
[백준 알고리즘/BOJ] 자바(java) 2422번 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 (0) | 2021.02.16 |
[백준 알고리즘/BOJ] 자바(java) 1934번 최소공배수 (0) | 2021.02.15 |