11656번: 접미사 배열
첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다.
www.acmicpc.net

문제 간단설명)
한 단어를 여러개로 쪼개고 사전순으로 정렬
풀이)
입력받은 단어를 substring() 이용해서 여러 접미사로 나눠주고,
이를 list에 넣어준다.
Collections.sort()안에 이 list를 넣어서 정렬한다.
Collections.sort()에 별다른 comparator 없이 리스트만 들어있다면
그 list를 사전순으로 정렬한다.
만약 자신만의 방식으로 정렬하고 싶다면
comparator를 구현하여 Collections.sort()에 넣어주면 된다.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String input = br.readLine();
ArrayList<String> li = new ArrayList<>();
for(int i = 0; i < input.length(); i++){
li.add(input.substring(i));
}
Collections.sort(li);
for(String s:li)
bw.write(s+"\n");
bw.flush();
bw.close();
}
}
|
cs |
'알고리즘 > 백준' 카테고리의 다른 글
| 백준 10824 네 수 자바[java] (4) | 2023.01.07 |
|---|---|
| 백준 11655 ROT13 자바[java] (0) | 2023.01.07 |
| 백준 2743 단어 길이 재기 자바[java] (0) | 2023.01.07 |
| 백준 10820 문자열 분석 자바[java] (2) | 2023.01.07 |
| 백준 10809 알파벳 찾기 자바[java] (0) | 2023.01.07 |