본문 바로가기
코딩테스트/자바 Level 0

[Java] 접미사 배열

by onggury 2023. 7. 27.

문제

어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string이 매개변수로 주어질 때, my_string의 모든 접미사를 사전순으로 정렬한 문자열 배열을 return 하는 solution 함수를 작성해 주세요.

 

 

 

제한사항

  • 1 ≤ my_string 은 알파벳 소문자로만 이루어져 있습니다.
  • 1 ≤ my_string 의 길이 ≤ 100

 

import java.util.Collections;
import java.util.ArrayList;

class Solution {
    public String[] solution(String my_string) {
        ArrayList<String> resultList = new ArrayList<String>();
        for(int i = 0; i < my_string.length(); i++) {
            resultList.add(my_string.substring(i, my_string.length()));
        }
        
        Collections.sort(resultList);
        String[] answer = resultList.toArray(new String[resultList.size()]);
        
        return answer;
    }
}

모든 접미사를 구하기 위해 반복문을 사용했다.

그 후 Collections.sort() 를 사용해 정렬 후 String 배열로 변환하여 해결하였다.

 

 

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/181909