BOJ 1181, 단어 정렬
- 단어의 중복을 제거한다. -> Set 사용
- 단어를 사전 순으로 정렬한다. -> Collections.sort 사용
- 단어를 길이순으로 정렬한다. -> new Comparator 사용
3-1 단어 길이 순으로 정렬
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.length() - o2.length();
}
});
3-2 단어 길이 순으로 정렬 (lambda expressions)
Collections.sort(list, (o1, o2) -> o1.length() - o2.length());
3-3 단어 길이 순으로 정렬(Comparator.comparingInt && List.sort)
list.sort(Comparator.comparingInt(String::length));
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Set<String> set = new HashSet<>();
int size = Integer.parseInt(br.readLine());
for (int i = 0; i < size; i++) {
set.add(br.readLine());
}
List<String> list = new ArrayList<>(set);
Collections.sort(list);
list.sort(Comparator.comparingInt(String::length));
for (String s : list) {
System.out.println(s);
}
}
}
'알고리즘' 카테고리의 다른 글
BOJ 1620번, 나는야 포켓몬 마스터 이다솜 (0) | 2019.02.04 |
---|---|
BOJ 2501 약수구하기 (0) | 2019.01.25 |
CodeForces, 1A. Theatre Square (0) | 2019.01.18 |
선택 정렬 selection sort (1) | 2018.12.18 |