알고리즘/백준

백준 1181 단어 정렬 자바

reumiii 2020. 2. 26. 22:28
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String str[] = new String[n];

		for (int i = 0; i < n; i++) {// 입력
			str[i] = sc.next();
		}

		Arrays.sort(str, 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 < n; i++) {// 출력
			if (i > 0 && str[i].equals(str[i - 1])) {// 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력
				continue;
			}
			System.out.println(str[i]);
		}
	}
}