문제 설명
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어. "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string이 매개변수로 주어질 때, my_string의 모든 접미사를 사전순으로 정렬한 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- my_string은 알파벳 소문자로만 이루어져 있습니다.
- 1 <= my_string의 길이 <= 100
입출력 예
my_string | result |
"banana" | ["a", "ana", "anana", "banana", "na", "nana"] |
"programmers" | ["ammers", "ers", "grammers", "mers", "mmers", "ogrammers", "programmers", "rammers", "rogrammers". "rs", "s"] |
import java.util.Arrays;
class Solution {
public String[] solution(String my_string) {
String[] answer = new String[my_string.length()];
for (int i = 0; i < my_string.length(); i++) {
answer[i] = my_string.substring(i, my_string.length());
}
Arrays.sort(answer);
return answer;
}
}
answer 배열을 생성합니다. 문자열을 한 자씩 자른다는 가정 하에 배열의 크기는 my_string의 길이와 동일합니다.
for문이 my_string의 길이만큼 순회합니다. answer의 i번째 원소에는 substring을 이용하여 my_string을 자른 문자열을 할당합니다. 각 인자에는 i와 my_string의 길이를 넣음으로써 0번 위치에서 문자열 끝까지 자르고, i가 점차 커지며 1번 위치에서, 2번 위치에서 자른 문자열을 차례로 answer에 할당합니다.
문제에서는 사전순으로 정렬한 배열을 원하므로, Arrays 클래스의 sort 메소드를 이용하여 값 전체가 삽입된 answer 배열을 반환하기 전 정렬합니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 부분 문자열 이어 붙여 문자열 만들기(Java) (0) | 2023.05.18 |
---|---|
[프로그래머스 코딩테스트] 특정한 문자를 대문자로 바꾸기(Java) (0) | 2023.05.18 |
[프로그래머스 코딩테스트] 접미사인지 확인하기(Java) (0) | 2023.05.17 |
[프로그래머스 코딩테스트] 접두사인지 확인하기(Java) (0) | 2023.05.17 |
[프로그래머스 코딩테스트] 수열과 구간 쿼리 4(Java) (0) | 2023.05.17 |