문제 번호 1427번 : 소트인사이드 - JAVA [자바]
728x90
https://www.acmicpc.net/problem/1427
문제 설명
숫자 하나를 입력받고 자리수의 맞게 정렬하는 문제입니다.
보고 오기를 추천하는 게시물
https://kkungchan.tistory.com/293
문제 풀이
해당 문제는 카운팅 정렬을 사용해 문제를 풀 것입니다. 카운팅 정렬은 위에 게시물에 설명되어 있으니 보고 오는 것을 추천드립니다.
카운팅 정렬을 사용해 해당 자리수의 수가 인덱스의 크기를 늘리게 될 것입니다.
해당 배열은 0~9까지 범위가 매우 작음으로 카운팅 정렬로 정렬하는 것이 매우 효율적입니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] array = new int[10];
while(n > 0){
array[n%10]++;
n = n/10;
}
for(int i=array.length-1; i>=0; i--){
while(array[i]-->0){
System.out.print(i);
}
}
}
}
반복문으로 배열을 만들고 해당 배열의 인덱스를 해당 수만큼 출력해주면 해결되는 문제입니다.
'알고리즘 > 백준 문제 및 정답' 카테고리의 다른 글
문제 번호 11651번 : 좌표 정렬하기 2 - JAVA [자바] (0) | 2023.03.07 |
---|---|
문제 번호 11650번 : 좌표 정렬하기 - JAVA [자바] (0) | 2023.03.07 |
문제 번호 2108번 : 통계학 - JAVA [자바] (2) | 2023.03.06 |
문제 번호 10989번 : 수 정렬하기 3 - JAVA [자바] (0) | 2023.03.02 |
문제 번호 2751번 : 수 정렬하기 2 - JAVA [자바] (0) | 2023.02.27 |