https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
정렬 문제와 마찬가지로 ArrayList와 Sort를 사용하니 간단했던 문제
알고리즘의 어려움도 있지만 지금은 자바의 문법과 기능을 아직 잘 몰라서 못 푸는 문제가 많은 것 같다.
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
public class B_1427 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String[] N = br.readLine().split(""); //입력받은 숫자를 자릿수만큼 잘라 문자열 배열로 만든다.
ArrayList<Integer> list1 = new ArrayList<Integer>(N.length); //문자열 배열의 길이만큼 ArrayList를 만든다.
for (int i = 0;i<N.length;i++) {
list1.add(Integer.parseInt(N[i]));
} //ArrayList에 자른 숫자를 집어넣는다.
Collections.sort(list1); //ArrayList를 오름차순으로 정렬
for (int j = N.length-1; j>=0; j--) {
bw.write(Integer.toString(list1.get(j)));
} //정렬한 ArrayList를 역순으로 버퍼에 집어넣는다
bw.flush(); //출력
bw.close();
}
}

728x90
'알고리즘 > BOJ (JAVA)' 카테고리의 다른 글
| (JAVA) 백준 17478번 : 재귀함수가 뭔가요? (0) | 2022.01.27 |
|---|---|
| (JAVA) 백준 18258번 : 큐 2 (0) | 2022.01.25 |
| (JAVA) 백준 10773번 : 제로 (0) | 2022.01.24 |
| (JAVA) 백준 10828번 : 스택 (0) | 2022.01.23 |
| (JAVA) 백준 2751번 : 수 정렬하기 2 (0) | 2022.01.23 |