์ ๋ฏธ์ฌ ๋ฐฐ์ด์ ๋ฌธ์์ด S์ ๋ชจ๋ ์ ๋ฏธ์ฌ๋ฅผ ์ฌ์ ์์ผ๋ก ์ ๋ ฌํด ๋์ ๋ฐฐ์ด์ด๋ค.
baekjoon์ ์ ๋ฏธ์ฌ๋ baekjoon, aekjoon, ekjoon, kjoon, joon, oon, on, n ์ผ๋ก ์ด 8๊ฐ์ง๊ฐ ์๊ณ , ์ด๋ฅผ ์ฌ์ ์์ผ๋ก ์ ๋ ฌํ๋ฉด, aekjoon, baekjoon, ekjoon, joon, kjoon, n, on, oon์ด ๋๋ค.
๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, ๋ชจ๋ ์ ๋ฏธ์ฌ๋ฅผ ์ฌ์ ์์ผ๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ง๋ค. S๋ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ธธ์ด๋ 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค๋ถํฐ S์ ์ ๋ฏธ์ฌ๋ฅผ ์ฌ์ ์์ผ๋ก ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค.
๐ก ์ ๋ฏธ์ฌ๋ฅผ ๊ตฌํ๊ธฐ ์ํด, s๋ฅผ 0๋ถํฐ ๋๊น์ง substring์ผ๋ก ๋ถ๋ฆฌํจ
๐ก suffix๋ฅผ ๋ด์ ๋ฐฐ์ด์ ์ ๋ ฌํจ
for(int i=0; i<s.length(); i++) {
suffix[i] = s.substring(i);
}
Arrays.sort(suffix);
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Imple_10 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine().trim();
String[] suffix = new String[s.length()];
for(int i=0; i<s.length(); i++) {
suffix[i] = s.substring(i);
}
Arrays.sort(suffix);
for(int i=0; i<suffix.length; i++) {
System.out.println(suffix[i]);
}
}
}
์ฑ๊ณตโจ