📟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);
}
}
}

 

정답 출처: https://st-lab.tistory.com/109

'📟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