Solution 1) 내 풀이
import java.util.*;

class Solution {
    public static List<String> getAllSuffixes(String str) {
        List<String> list = new ArrayList<>();
        for (int i = 0; i < str.length(); i++) {
            list.add(str.substring(i));
        }
        return list;
    }
    public String[] solution(String my_string) {
        List<String> allSuffixes = getAllSuffixes(my_string);
        Collections.sort(allSuffixes);
        
        String[] result = allSuffixes.toArray(new String[allSuffixes.size()]);
        return result;
    }
}
모든 접미사를 얻는 메서드를 작성해서 얻어낸다.
이후 List 유형을 Collections.sort로 사전적 정렬 해낸다.
반환 유형은 String[] 이기에 .toArray 메서드로 다시 배열로 반환한다.
(반환할 유형을 맞춰 작성해야함 new String)
Solution 2) 다른 사람의 풀이
import java.util.Arrays;

class Solution {

    public String[] solution(String my_string) {
        String[] answer = new String[my_string.length()];

        for (int i = 0; i < answer.length; i++) {
            answer[i] = my_string.substring(i);
        }

        Arrays.sort(answer);
        return answer;
    }
}

 

그냥 Arrays.sort로 배열을 정렬해도 사전적 정렬이 되는 거였다.

 

+ Recent posts