Java/코딩테스트

[백준] 1427번: 소트인사이드 (JAVA)

다아빈 2025. 4. 12. 19:40
728x90
반응형

문제: https://www.acmicpc.net/problem/1427

문제 접근

문제를 보자마자(?) 리스트에 넣고 Collections.sort() 사용해야 겠다고 생각했습니다

  1. 리스트 생성 (Character형이든, Integer형이든 상관없음)
  2. input값을 charAt()으로 하나씩 리스트에 넣음
  3. Collections.sort() 로 정렬

전체 코드

1) 리스트를 Integer로 생성한 경우

import java.io.*;
import java.util.*;

public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        String input = br.readLine();

        List<Integer> list = new ArrayList<>();

        for(int i = 0; i < input.length(); i++) {
            list.add(input.charAt(i) - '0');
        }

        Collections.sort(list, Collections.reverseOrder());

        for(int i : list) bw.write(i + "");

        bw.close();
    }
}

2) 리스트를 Character형으로 생성한 경우

import java.util.*;
import java.io.*;

public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        String input = br.readLine();
        List<Character> list = new ArrayList<>();

        for(int i = 0; i < input.length(); i++) {
            list.add(input.charAt(i));
        }

        Collections.sort(list, Collections.reverseOrder());

        for(Character c : list) {
            bw.write(c + "");
        }

        bw.close();
    }
}

 

블로그를 쓰기 전에 잘 이해했는지 확인해볼라고 다시 풀어봤습니다 저는!

그런데 코드 자체는 많이 달라진게 없지만 첫 번째 풀었을 때는 Integer형으로, 두 번째 풀었을 때는 Character형으로 풀어서.. 저의 마음이 신기해서 2가지 버전으로 코드를 가져왔습니다 ㅎㅋ

자바 리스트 정렬 (내림차순)

저번 글에서도 리스트 정렬에 대해 설명했는데, 내림차순으로 정렬한 건 언급 안했더라구요!

내림차순으로 정렬할 때는 다음과 같이 사용합니다.

Collections.sort(list, Comparator.reverseOrder());
  • Comparator.reverseOrder(): 기본 정렬 기준의 역순을 만들어주는 정렬 기준
  • String은 사전순, Integer는 숫자의 오름차순으로 정렬한다.

이번 글도 읽어주셔서 감사합니다.

728x90
반응형