📟java/백준
백준 1427 자바
하얀성
2022. 11. 21. 20:57
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
<작성 답안>
포기...
내림차순이라 내림차순용 메서드를 써야되나 싶었는데... 아니었다. ㅠ
요새 문제를 푸는데에 자신감을 많이 잃었다. 무의식적으로 손에 잘 안잡히고 안할려한다.
그래서 정답을 보고 타이핑을 쓰고자 한다.
<정답 및 코드 분석>
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] counting = new int[10]; // 자리수 만큼 배열생성
int N = in.nextInt();
while (N != 0) {
counting[N%10]++; //N이 0으로 못나누기 전까지 계속 배열 안의 값을 채우고 다음 배열로 더해준다.
N /= 10;
}
for(int i=9; i>=0; i--) {
while (counting[i]-- > 0) {// 반대로 순서로 출력.
System.out.println(i);
}
}
}