문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하려고 하는 수 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);
}
}
}
'📟java > 백준' 카테고리의 다른 글
백준 11651 자바 (0) | 2022.11.21 |
---|---|
백준 10989 자바 (0) | 2022.11.18 |
백준 25305 자바 (0) | 2022.11.18 |
백준 2750 자바 (0) | 2022.11.17 |
백준 2563 자바 (1) | 2022.11.17 |