[JAVA][백준] #1427 소트인사이드

안지현·2024년 3월 31일
0

백준

목록 보기
3/3

백준 #1427

코드

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

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String N = bf.readLine();

        int[] arr = new int[N.length()];
        for(int i = 0; i < N.length(); i++) {
            arr[i] = Character.getNumericValue(N.charAt(i));
        }

        int temp = 0;

        for(int i = 0; i < arr.length; i++){
            for(int j = 0 ; j < arr.length; j++){
                if(arr[i] > arr[j]) {
                    temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] =temp;
                }
            }
        }

        for (int j : arr) {
            System.out.print(j);
        }
    }
}

Character.getNumericValue()

getNumericValue() 메소드는 Unicode의 값을 int value로 반환한다.
만약 문자가 숫자 값을 갖지 않는다면 -1을 반환하고, 분수처럼 음이 아닌 정수로 표현할 수 없는 경우에는 -2를 반환한다.

Collections.reverseOrder()

배열을 내림차순으로 정리할때 reverseOrder()로 하려고 했으나 컴파일 오류가 발생했다.
Collections.reverseOrder()로 정렬할 배열을 primitive type이 아닌 wrapper class 여야 한다.

Collections.reverseOrder()를 사용하려면 int[] arrInteger[] arr로 수정해야 한다.
+) int형 배열을 Integer 배열로 바꾸는 방법
Integer[] arr = Arrays.stream(_arr).boxed().toArray(Integer[]::new);

0개의 댓글