https://www.acmicpc.net/problem/1181
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
ArrayList<String> words = new ArrayList<>();
while(n-- > 0){
String word = br.readLine();
words.add(word);
}
// 1. 길이가 짧은 것 부터
// 2. 길이가 같으면 사전 순으로
words.sort((o1, o2) -> {
if(o1.length() == o2.length()){ // 길이가 같으면
return o1.compareTo(o2); // 사전 순으로
}
return o1.length()-o2.length(); // 길이가 짧은 것 부터
});
for(int i=0; i<words.size(); i++){
if(i==0) System.out.println(words.get(0));
else if(!words.get(i-1).equals(words.get(i))) System.out.println(words.get(i));
}
}
}
sort함수를 이용해 조건에 맞게 정렬한다.
중복 제거를 위해 출력할 때 이전 인덱스의 데이터와 같지 않을때만 출력했다.
'ALGORITHM' 카테고리의 다른 글
[JAVA] 알고리즘 : DFS- 미로 탐색 (0) | 2022.09.29 |
---|---|
[JAVA] 백준 10814번- 나이순 정렬 (0) | 2022.09.29 |
[JAVA] 백준 11651번 - 좌표 정렬하기2 (0) | 2022.09.28 |
[JAVA] 백준 11650번 - 좌표 정렬하기 (0) | 2022.09.28 |
[JAVA] 알고리즘 : DFS- 순열 추측하기 (0) | 2022.09.27 |