
substring를 사용해 문자열을 자르고 ArrayList에 집어넣고 정렬하였다. Set을 사용하면 시간복잡도롤 줄일 수 있다.
시간복잡도: O(N³), 공간복잡도: O(N²)
import java.util.*;
import java.io.*;
class Main {
public static void main (String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> al = new ArrayList<>();
String s = br.readLine();
int n = s.length();
for(int i=0;i<n;i++){
String suffix = s.substring(i, n);
if(!al.contains(suffix)){
al.add(suffix);
}
}
Collections.sort(al);
for(String ss : al){
System.out.println(ss);
}
}
}
