https://www.acmicpc.net/problem/1181
스트림 사용
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int numOfWords = Integer.parseInt(br.readLine());
List<String> list = new ArrayList<>();
for(int i=0; i<numOfWords; i++){
String word = br.readLine();
list.add(word);
}
StringBuilder sb = new StringBuilder();
list.stream().distinct()
.sorted((String x1,String x2) -> {
if(x1.length() == x2.length()){
return x1.compareTo(x2);
}
return x1.length() - x2.length();
}).forEach((x) -> sb.append(x).append("\n"));
System.out.println(sb);
}
}
Collections.sort 사용
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int numOfWords = Integer.parseInt(br.readLine());
List<String> list = new ArrayList<>();
for(int i=0; i<numOfWords; i++){
String word = br.readLine();
list.add(word);
}
Collections.sort(list, (String x1,String x2) -> {
if(x1.length() == x2.length()){
return x1.compareTo(x2);
}
return x1.length() - x2.length();
});
StringBuilder sb = new StringBuilder();
sb.append(list.get(0)).append("\n");
for(int i=1; i< list.size(); i++){
if (!list.get(i).equals(list.get(i-1))) {
sb.append(list.get(i)).append("\n");
}
}
System.out.println(sb);
}
}
람다 공부 다시한거 같은데 또 해야겠다. 자바책도 하나 사야겠다.
'알고리즘 > 백준' 카테고리의 다른 글
백준 18870번 - 좌표 압축 (Java 8) (0) | 2022.03.05 |
---|---|
백준 10814번 - 나이순 정렬 (Java 8) (0) | 2022.03.04 |
백준 11651번 - 좌표 정렬하기 2 (Java 8) (0) | 2022.03.04 |
백준 11650번 - 좌표 정렬하기 (Java 8) (0) | 2022.03.04 |
백준 1427번 - 소트인사이드 (Java 8) (0) | 2022.03.04 |
댓글