인지용

백준 11656 : 접미사 배열 자바 본문

알고리즘

백준 11656 : 접미사 배열 자바

인지용 2021. 9. 20. 17:23

https://www.acmicpc.net/problem/11656

 

11656번: 접미사 배열

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

www.acmicpc.net

 

 

생각 : 

문제를 보니까

출력하는 문자열 라인수가 문자열만큼이길래

배열을 만들어서 문자열을 잘라서 순서대로 넣고

전에 배운 Arrays.sort 메서드가 문자열도

정렬할 수 있지 않을까 하는 생각으로

배열을 정렬했다

 

 

결론:

String 배열을 만들고 문자열 길이를

한개씩 줄여가면서 배열에 담기

 

 

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

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 n = br.readLine();
		String[] arr = new String[n.length()];
			
		for(int i = 0; i < n.length(); i++) {			
			arr[i] = n.substring(i, n.length());			
		}
			
		Arrays.sort(arr);
				
			
		for(String str : arr) {
                    bw.write(str);
                    bw.write('\n');
                }
		
		bw.flush();
		
	}				
}