[백준] 1181 - 단어 정렬 (JAVA)

leeng·2025년 1월 12일
0

[백준] 1181 - 단어 정렬

이것도 1431-시리얼 번호와 마찬가지로 Comparator로 정렬 기준을 만들어서 풀이하였다.
다만 중복된 단어는 하나만 남기고 제거해야한다는 조건이 있어서 정렬 + 중복제거가 가능한 SortedSet 자료구조를 사용하였다.

아래는 전체 소스코드이다.

// 1181 - 단어 정렬
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));
        SortedSet<String> set = new TreeSet<>((a, b) -> {
            if(a.length() != b.length()) return a.length() - b.length();
            return a.compareTo(b);
        });
        int N = Integer.parseInt(br.readLine());
        for (int i = 0; i < N; i++) {
            set.add(br.readLine());
        }

        for (String word : set) {
            bw.write(word);
            bw.write("\n");
        }

        br.close();
        bw.close();
    }
}
profile
기술블로그보다는 기록블로그

0개의 댓글

관련 채용 정보