[백준] 1427. 소트인사이드

진예·2023년 10월 13일
0

Baekjoon : JAVA

목록 보기
29/76
post-thumbnail
post-custom-banner

📌 문제

[1427] 소트인사이드

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

⬇️ 입력

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

⬆️ 출력

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

💡 코드

✅ 입력받은 수를 한 자리씩 int 타입으로 변환하여 int 타입 배열 arr[]에 저장한 후, Arrays.sort(arr)를 통해 오름차순 정렬하여 마지막 요소부터 출력한다.

import java.io.*;
import java.util.*;
public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		StringBuilder sb = new StringBuilder();
		
		String str = br.readLine();
		int[] arr = new int[str.length()];
		for(int i=0;i<arr.length;i++) {
			arr[i] = str.charAt(i) - '0';
		}
		
		Arrays.sort(arr);
		for(int i=arr.length-1;i>=0;i--) {
			sb.append(arr[i] + "");
		}
		bw.write(sb + "");
		
		br.close();
		bw.close();
	}
}	

다른 사람의 코드 : int 타입으로 하나씩 변환할 필요 없이 toCharArray() 메서드를 통해 문자열을 char 타입 배열에 저장하여 정렬해도 된다!

import java.io.*;
import java.util.*;
public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		StringBuilder sb = new StringBuilder();
		
		String str = br.readLine();
		char[] arr = str.toCharArray();
		
		Arrays.sort(arr);
		for(int i=arr.length-1;i>=0;i--) {
			sb.append(arr[i] + "");
		}
		bw.write(sb + "");
		
		br.close();
		bw.close();
	}
}	

profile
백엔드 개발자👩🏻‍💻가 되고 싶다
post-custom-banner

0개의 댓글