기록하는 개발자

[백준 1427번] 소트인사이드 - JAVA 알고리즘 본문

Baekjoon Online Judge

[백준 1427번] 소트인사이드 - JAVA 알고리즘

gitseok 2022. 6. 15. 17:49

1427번
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
예제 입력 예제 출력
   
500613009 965310000

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.text.ParseException;

public class Main {

	public static void main(String[] args) throws IOException, ParseException {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 선언
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // 선언

		String str = br.readLine();
		int num = 9;
        
		while(true) { //9부터 0까지 반복
			for(int i = 0; i<str.length(); i++) { //첫번째부터 끝까지 반복
				if(Character.getNumericValue(str.charAt(i))==num) { //높은 수부터 입력
					bw.write(num+"");
				}
			}
			
			if(num ==0) { //0이라면 중단
				break;
			}else { //0이 아니라면 -1로 감소
				num--;
			}
		}
		
		bw.close();
		br.close();
	}
}

 

실행 결과

개인적으로 정리한 내용을 간단하게 풀어 작성했습니다.
이해가 안가는 부분은 댓글 남겨주시면 설명해드리겠습니다.
Comments