반응형
* 핵심
Comparator 사용하여 조건 만족
* 문제
*개념
Comparator 를 이용하여 길이가 짧은 것부터, 같으면 사전순으로 정렬한다.
* 소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int n = Integer.parseInt(br.readLine()); HashSet hs = new HashSet(); //중복 제거 ArrayList<String> alist = new ArrayList<>(); while (n-->0) { String s = br.readLine(); if (!hs.contains(s)) { hs.add(s); alist.add(s); } } alist.sort(new Comparator<String>() { @Override public int compare(String o1, String o2) { if (o1.length() == o2.length()) return o1.compareTo(o2); //사전순 else return Integer.compare(o1.length(), o2.length()); //길이 오름차순 } }); for (int i = 0; i < alist.size(); i++) { sb.append(alist.get(i)).append("\n"); } System.out.println(sb); } //End of Main } | cs |
반응형
'∙Algorithm' 카테고리의 다른 글
[Algorithm] 백준/7576 :: 토마토 (0) | 2018.12.30 |
---|---|
[Algorithm] 백준/11724 :: 연결 요소의 개수 (0) | 2018.12.29 |
[Algorithm] 백준/14698 :: 전생했더니 슬라임 연구자였던 건에 대하여 (Hard) (0) | 2018.12.28 |
[Algorithm] 백준/1620 :: 나는야 포켓몬 마스터 이다솜 (0) | 2018.12.27 |