자바/알고리즘 문제 풀이

백준/1427 소트인사이드

backend dev 2022. 12. 4.

소트인사이드

 
시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB 66216 42477 35550 64.523%

문제

배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.

입력

첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.

출력

첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.

예제 입력 1 복사

2143

예제 출력 1 복사

4321

예제 입력 2 복사

999998999

예제 출력 2 복사

999999998

예제 입력 3 복사

61423

예제 출력 3 복사

64321

예제 입력 4 복사

500613009

예제 출력 4 복사

965310000

 


풀이

Arrays.sort()의 내림차순을 사용하기 위해 Integer 배열로 값을 받았고 (Arrays.sort()의 내림차순은 객체배열만 가능)

정렬후 하나씩 출력해줬다.

 

public class Main {

    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

    public static void main(String[] args) throws IOException {
        String input = br.readLine();
        Integer[] numberArray = new Integer[input.length()];

        for (int i = 0; i < input.length(); i++) {
            numberArray[i] = Character.getNumericValue(input.charAt(i));
        }

        Arrays.sort(numberArray, Comparator.reverseOrder());

        for (int number : numberArray) {
            bw.write(number+"");
        }


        bw.flush();
        bw.close();

    }
}

 

시간복잡도

O(n)?

 

 

다른사람 풀이

1. 문자열을 toCharArray()를 이용하여 문자배열로 바꾼후 오름 차순정렬해서 반대로 출력해서 풀이

 

다시풀어보기

문자열을 Chracter라는 래퍼클래스타입으로 바꿔주고 정렬

public class Main {

    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

    public static void main(String[] args) throws IOException {
        String input = br.readLine();
        Character[] charArray = new Character[input.length()];

        for (int i = 0; i < input.length(); i++) {
            charArray[i] = input.charAt(i);
        }
        Arrays.sort(charArray, Comparator.reverseOrder());

        for (char current : charArray) {
            bw.write(current+"");
        }


        bw.flush();
        bw.close();

    }
}

 

 

 

 

 

'자바 > 알고리즘 문제 풀이' 카테고리의 다른 글

백준/11651 좌표 정렬하기 2  (1) 2022.12.05
백준/11650 좌표 정렬하기  (1) 2022.12.04
백준/2108 통계학  (0) 2022.12.04
백준/10989 수 정렬하기 3  (0) 2022.12.03
백준/2751 수 정렬하기 2  (0) 2022.12.03

댓글