1427번: 소트인사이드
첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
이번 문제는 하나의 수를 입력받아서 한글자 단위로 나눠서 정렬 후 출력해주면 끝난다. 풀이방법은 첫번째로 수학적원리를 이용한 방법과 두번째로 문자열을 한 문자로 나눠서 배열로 반환해주는 toCharArray()메소드를 이용한 방법으로 풀어봤다.
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; 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)); int n = Integer.parseInt(br.readLine()); int[] count = new int[10]; while(n!=0) { count[n%10] +=1; n /= 10; } for(int i=9; i>=0; i--) { for(int j = 0; j<count[i]; j++) System.out.print(i); } } }
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Arrays; public class Main2 { 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 s = br.readLine(); char[] arr = s.toCharArray(); Arrays.sort(arr); for(int i=arr.length-1; i>=0; i--) bw.write(arr[i]); bw.flush(); bw.close(); } }
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.