본문 바로가기
알고리즘 & 자료구조/백준

백준 1181

by 신재권 2022. 9. 21.
package baekjoon.정렬;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;

class Main1181 {

   static int N;
   static Set<String> set = new HashSet<>();
   static StringBuilder sb = new StringBuilder();
   static String[] s;

   public static void main(String[] args) throws Exception {
      input();
      go();
      System.out.println(sb);
   }

   private static void go() {
      s = new String[set.size()];
      set.toArray(s);
      Arrays.sort(s, ((o1, o2) -> {
         if (o1.length() == o2.length()) {
            return o1.compareTo(o2);
         }
         return o1.length() - o2.length();
      }));

      for (String tmp: s) {
         sb.append(tmp).append('\n');
      }
   }

   private static void input() throws IOException {
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      N = Integer.parseInt(br.readLine());
      for (int i = 0; i < N; i++) {
         String s = br.readLine();
         set.add(s);
      }
   }

}

'알고리즘 & 자료구조 > 백준' 카테고리의 다른 글

백준 1654  (0) 2022.09.21
백준 20291  (0) 2022.09.21
백준 1949  (0) 2022.09.21
백준 15681  (0) 2022.09.20
백준 11066  (1) 2022.09.20