알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.
길이가 짧은 것부터
길이가 같으면 사전 순으로
단, 중복된 단어는 하나만 남기고 제거해야 한다.
Arrays.sort(stringList, new Comparator() {...}); 를 이용해서 풀기
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String[] stringList = new String[n];
for (int i = 0; i < n; i++) {
stringList[i] = scanner.next();
}
Arrays.sort(stringList, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if (o1.length() == o2.length())
return o1.compareTo(o2);
else
return o1.length() - o2.length();
}
});
for (int i = 0; i < stringList.length-1; i++) {
if (!stringList[i].equals(stringList[i+1]))
System.out.println(stringList[i]);
}
System.out.println(stringList[stringList.length-1]);
}