[Lv.1] 소트인사이드

박준원·2024년 4월 6일

정렬

목록 보기
6/12

문제 이해

주어진 수의 각 자리수를 내림차순으로 정렬하는 문제입니다.

알고리즘 설계

  1. 입력된 수를 문자열로 변환하여 각 자리수를 쉽게 접근할 수 있도록 합니다.
  2. 문자열로 변환된 수를 내림차순으로 정렬합니다.
  3. 정렬된 문자열을 다시 정수형으로 변환하여 출력합니다.

소스 코드 구현

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        String number = br.readLine();
        Integer[] digits = new Integer[number.length()];
        
        // 문자열을 정수형 배열로 변환
        for (int i = 0; i < number.length(); i++) {
            digits[i] = number.charAt(i) - '0';
        }
        
        // 내림차순으로 정렬
        Arrays.sort(digits, Collections.reverseOrder());
        
        // 정렬된 배열을 문자열로 변환
        StringBuilder result = new StringBuilder();
        for (int digit : digits) {
            result.append(digit);
        }
        
        System.out.println(result);
    }
}

소스 분석

이 코드는 주어진 수를 문자열로 변환하여 각 자리수를 내림차순으로 정렬하는 기능을 수행합니다. 우선 입력된 수를 문자열로 변환하고, 각 자리수를 정수 배열에 저장합니다. 그 다음 내림차순으로 정렬된 정수 배열을 다시 문자열로 변환하여 출력합니다. 이를 통해 입력된 수의 자리수를 내림차순으로 정렬하는 문제를 해결할 수 있습니다.

profile
08년생 Programmer - C++, Java, Kotlin

0개의 댓글