[백준_1181] 단어 정렬 - JAVA

jm_25·2021년 11월 27일
0

알고리즘

목록 보기
17/40
post-thumbnail

문제 출처

https://www.acmicpc.net/problem/1181

풀이

  • 정렬 문제이고 Arrays.sort() 시 Comparator<>를 사용할 수 있는지를 묻는 문제이다.

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
import java.util.StringTokenizer;

public class Main {
  public static void main(String[] args) throws IOException {
      BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
      StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine());
      int N = Integer.parseInt(stringTokenizer.nextToken());
      String[] array = new String[N];
      for (int i = 0; i < N; i++) {
          stringTokenizer = new StringTokenizer(bufferedReader.readLine());
          array[i] = stringTokenizer.nextToken();
      }

      Arrays.stream(array).distinct().sorted(new Comparator<String>() {
          @Override
          public int compare(String o1, String o2) {
              if (o1.length() > o2.length()) {
                  return 1;
              } else if (o1.length() == o2.length()) {
                  return o1.compareTo(o2);
              } else {
                  return -1;
              }
          }
      }).forEach(s -> System.out.println(s));
  }
}

채점 결과

profile
매일 매일 한 개씩

0개의 댓글