Algorithm/JAVA - BOJ
BOJ/백준 - 1181 단어 정렬 JAVA
ㅇㅇ잉
2021. 8. 11. 14:27
CompareTo()를 사용하면 사전순으로 단어가 정렬된다.
16번째 줄부터는 compare함수를 람다식으로 구현했다.
compare함수는 반환형이 int인데, 양수면 자리를 바꾸고 음수나 0이 반환되면 자리를 바꾸지 않는다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
String[] arr = new String[N];
for(int i=0;i<N;i++){
arr[i]=br.readLine();
}
Arrays.sort(arr, (String s1, String s2)->{
if(s1.length()==s2.length())
return s1.compareTo(s2);
else return s1.length()-s2.length();
});
sb.append(arr[0]).append('\n');
for(int i=1;i<N;i++){
if(!arr[i].equals(arr[i-1]))
sb.append(arr[i]).append('\n');
}
System.out.print(sb);
}
}
|
cs |