본문 바로가기

코딩테스트/백준

[백준/1427] 소트인사이드 - 자바

제가 풀어본 문제를 올리는 것으로 코드가 전혀 완벽하지 않습니다.

태클 걸어주세요.

 

문제

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Q1427 {

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		
		char[] chr = bf.readLine().toCharArray();
		int[] counting = new int[10];
		StringBuilder sb = new StringBuilder();
		
		for(int i=0;i<chr.length;i++) {
			counting[chr[i]-'0']++;
		}
		for(int i=counting.length-1;i>=0;i--) {
			while(counting[i]>0) {
				sb.append(i);
				counting[i]--;
			}
		}
		System.out.println(sb);

	}

}

코드설명

문제를 보자마자 counting sort를 이용해야 할거 같다고 생각했고 바로 풀었더니 성공!

String값을 받아서 분리 잘 시키고 합치기만 잘하면 다 맞을거 같은 문제!