- 숫자를 정렬하는 문제
https://www.acmicpc.net/problem/1427
1. 문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
2. 문제 접근
1) 정렬하려는 수 N을 문자열로 입력받는다.
2) 숫자를 저장할 수 있는 10의 크기의 정수형 배열을 만든다.
3) 문자열의 문자 수만큼 반복하며 charAt()을 통해 각 문자를 접근하며 해당하는 숫자을 인덱스로 하여 배열의 값을 1씩 증가시킨다.
4) 배열을 인덱스 9부터 시작하여 0까지 해당 값이 0이 될때까지 인덱스값을 출력한다.
3. 코드
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
int num[] = new int[10];
for(int i=0;i<input.length();i++) {
num[(int)input.charAt(i)-'0']++;
}
StringBuilder sb =new StringBuilder();
for(int i=num.length-1;i>=0;i--) {
while(num[i]>0) {
sb.append(i);
num[i]--;
}
}
System.out.println(sb);
}
}
'백준 > JAVA' 카테고리의 다른 글
[백준/JAVA] 11650번 좌표 정렬하기 (0) | 2023.02.06 |
---|---|
[백준/JAVA] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2023.02.06 |
[백준/JAVA] 10989번 수 정렬하기3 (0) | 2023.01.21 |
[백준/JAVA] 2751번 수 정렬하기2 (0) | 2023.01.21 |
[백준/JAVA] 2750번 수 정렬하기 (0) | 2023.01.21 |