말랑한 하루

[BAEKJOON] 1181 단어 정렬 (Java) 본문

문제풀이/BAEKJOON Online Judge

[BAEKJOON] 1181 단어 정렬 (Java)

지수는말랑이 2022. 10. 29. 22:34
반응형

[ 학습 내용 ]
※ Comparator - compare

Class를 생성하지 않고 비교기만 추가하고 싶을 때

class MyComparator implements Comparator<String> {

  @Override
  public int compare(String o1, String o2) {
    return o1.length() == o2.length()
      ? o1.compareTo(o2)
      : o1.length() - o2.length();
  }
}

※ 문자열 비교

o1.compareTo(o2)

[ 소스 코드 ]

import java.util.*;

class MyComparator implements Comparator<String> {

  @Override
  public int compare(String o1, String o2) {
    return o1.length() == o2.length()
      ? o1.compareTo(o2)
      : o1.length() - o2.length();
  }
}

public class Main {

  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    sc.nextLine();
    ArrayList<String> ary = new ArrayList<>();
    MyComparator mc = new MyComparator();
    for (int i = 0; i < N; i++) {
      String temp = sc.nextLine();
      if (!ary.contains(temp)) ary.add(temp);
    }
    Collections.sort(ary, mc);

    for (String x : ary) {
      System.out.println(x);
    }
  }
}

 

반응형
Comments