[Baekjoon] 1427번 : 소트인사이드
1. 문제
https://www.acmicpc.net/problem/1427
- 정렬, 배열 문제
// 문제
배열을 정렬하는 것은 쉽다.
수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
// 입력
첫째 줄에 정렬하고자하는 수 N이 주어진다.
N은 1,000,000,000보다 작거나 같은 자연수이다.
// 출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
// 예제 입력 1
2143
// 예제 출력 1
4321
2. 핵심 아이디어
- 자릿수를 기준으로 정렬하므로 9부터 0까지 차례대로 확인
- 각 숫자에 대하여 해당 숫자의 개수를 계산하여 출력
3. Python 문제풀이
import sys
n = sys.stdin.readline().rstrip()
for i in range(9, -1, -1) :
for j in n :
if int(j) == i :
print(i, end='')
4. Java 문제풀이
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Arrays;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[] arr = br.readLine().toCharArray();
Arrays.sort(arr);
for (int i=arr.length-1; i>=0; i--) {
System.out.print(arr[i]);
}
}
}
댓글남기기