백준

백준 11656 접미사 배열(Java)

Park DJ 2023. 1. 27. 14:28

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

 

11656번: 접미사 배열

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

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 이중 for문과 배열을 통해 앞에서부터 하나씩 지우면서 배열에 더한 후 정렬하여 StringBuilder에 저장해서 출력하면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;
import java.util.Arrays;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    StringBuilder sb = new StringBuilder();

    String str = sc.nextLine();
    String[] arr = str.split("");
    String[] result = str.split("");
  
    for(int i = 0; i < str.length(); i++) {
      for(int j = i+1; j < str.length(); j++) {
        result[i] += arr[j];
      }
    }

    Arrays.sort(result);

    for(int i = 0; i < str.length(); i++) {
      sb.append(result[i]+"\n");
    }

    System.out.print(sb);
  }
}