Algorithm_PS

11656. <접미사 배열>

Frisbeen 2024. 2. 5. 03:12

11656번: 접미사 배열 (acmicpc.net)

 

11656번: 접미사 배열

첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다.

www.acmicpc.net

baekjoon의 접미사는 baekjoon, aekjoon, ekjoon, kjoon, joon, oon, on, n 으로 총 8가지가 있고, 이를 사전순으로 정렬하면, aekjoon, baekjoon, ekjoon, joon, kjoon, n, on, oon이 된다.

 

얘를 사전순으로.

1. 인덱싱으로 잘라서 배열에 넣은 다음 (ArrayList)활용

2. sort하면 끝날거같다.

 

3. 부분 문자열 >> 웬만하면 자바의 편한 substring 메소드를 활용하자

import java.io.*;
import java.util.*;

public class Main {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		String str = br.readLine();
		ArrayList<String> al = new ArrayList<String>();
		
		for(int i=0 ; i<str.length(); i++) {
			al.add(str.substring(i,str.length()));
		}
		
		Collections.sort(al);
		for(String x : al) {
			sb.append(x).append('\n');
		}
		System.out.println(sb);
}

}

'Algorithm_PS' 카테고리의 다른 글

6588. <골드바흐의 추측>  (1) 2024.02.05
1929. <소수 구하기>  (1) 2024.02.05
11655. <ROT13>  (0) 2024.02.05
10809. <알파벳 찾기>  (0) 2024.02.05
1918. <후위 표기식>  (1) 2024.01.29