알고리즘 및 자료구조/문제
백준알고리즘 1181번 단어 정렬
ktko
2018. 5. 14. 09:05
백준알고리즘
https://www.acmicpc.net/problem/1181
여기서는 Set을 사용하여 중복된 단어를 제거해주고, 먼저 알파벳 순서대로 단어를 정렬한 후
자바의 Comparator을 이용하여 단어를 한번 더 정렬을 해주어야 한다.
자바의 Comparator을 이 전에 블로그 포스팅 한 적이 있어서 Comparator을 모른다면 한번 보길 추천한다.
http://ktko.tistory.com/154?category=629345
import java.util.Arrays; import java.util.Comparator; import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class Main2 { public static void main(String[] args) { Scanner scan = new Scanner (System.in); int count = Integer.parseInt(scan.nextLine().trim()); Set<String> set = new HashSet<String>(); for(int i=0; i<count; i++) { String input = scan.nextLine().trim(); set.add(input); } String array[] = new String[set.size()]; set.toArray(array); Arrays.sort(array); Arrays.sort(array, new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.length() - o2.length(); } }); for(int i=0; i < array.length; i++) { System.out.println(array[i]); } } }