기록하는 개발자

[백준 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