반응형
```
백준 11656번 접미사 배열 JAVA 구현해보기
```
이번 글을 통해 배워갈 내용
- 백준 11656번 풀이
https://www.acmicpc.net/problem/11656
11656번: 접미사 배열
첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다.
www.acmicpc.net
백준 11656번 접미사 배열은
문자열 S를 입력받고
문자열 S의 모든 접미사를 사전 순으로 정렬 후에 출력하면 됩니다.
예를 들어서
abcabc를 입력받으면
abcabc
bcabc
cabc
abc
bc
c
가 나오고
이를 정렬하면
abc
abcabc
bc
bcabc
c
cabc
가 됩니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
아래에 보시는 것과 같이
입력을 받고
접미사 리스트를 만들고
사전 순으로 정렬한 다음
출력하였습니다.
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 {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws IOException {
// 입력
String str = br.readLine();
List<String> stringList = new ArrayList<>();
// 접미사 획득
String suffixStr = "";
for (char ch : new StringBuilder(str).reverse().toString().toCharArray()) {
suffixStr = ch + suffixStr;
stringList.add(suffixStr);
}
// 정렬
Collections.sort(stringList, String.CASE_INSENSITIVE_ORDER);
// 출력
StringBuilder sb = new StringBuilder();
stringList.stream().forEach(s -> sb.append(s).append("\n"));
sb.setLength(sb.length() - 1);
System.out.println(sb);
}
}
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90
반응형
'Java > Java 알고리즘' 카테고리의 다른 글
백준 23971번 ZOAC 4 JAVA 구현해보기 (0) | 2022.02.08 |
---|---|
백준 15829번 Hashing JAVA 구현해보기 (0) | 2022.02.08 |
백준 10866번 덱 JAVA 구현해보기 (0) | 2022.02.06 |
백준 6975번 Deficient, Perfect, and Abundant JAVA 구현해보기 (0) | 2022.02.06 |
백준 2845번 파티가 끝나고 난 뒤JAVA 구현해보기 (0) | 2022.02.05 |