백준 11656번 접미사 배열 JAVA

YB·2025년 2월 21일

링크텍스트

설명

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);
		}
	}
}

profile
안녕하세요

0개의 댓글