
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string이 매개변수로 주어질 때, my_string의 모든 접미사를 사전순으로 정렬한 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
my_string은 알파벳 소문자로만 이루어져 있습니다.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"] |
입출력 예 #1
my_string는 "banana"로 모든 접미사는 문제의 설명과 같습니다. 이를 사전순으로 정렬하면 "a", "ana", "anana", "banana", "na", "nana"이므로 ["a", "ana", "anana", "banana", "na", "nana"]를 return 합니다.입출력 예 #2
my_string는 "programmers"이고 모든 접미사는 "programmers", "rogrammers", "ogrammers", "grammers", "rammers", "ammers", "mmers", "mers", "ers", "rs", "s"입니다. 이를 사전순으로 정렬한 문자열 배열 ["ammers", "ers", "grammers", "mers", "mmers", "ogrammers", "programmers", "rammers", "rogrammers", "rs", "s"]를 return 합니다.function solution(my_string) {
return Array.from({ length: my_string.length }, (_, i) => my_string.slice(i))
.sort();
}
Array.from({ length: my_string.length }, (_, i) => my_string.slice(i))
my_string의 모든 접미사를 생성합니다.Array.from({ length: my_string.length }, callback):my_string.length인 배열을 생성.i를 사용하여 접미사를 만듦.my_string.slice(i):my_string의 i번째 인덱스부터 끝까지 잘라냄."banana"i = 0 → "banana".i = 1 → "anana".i = 2 → "nana".i = 3 → "ana".i = 4 → "na".i = 5 → "a".["banana", "anana", "nana", "ana", "na", "a"]..sort();
sort()는 문자열의 유니코드 값에 따라 배열 요소를 정렬.["banana", "anana", "nana", "ana", "na", "a"].["a", "ana", "anana", "banana", "na", "nana"].solution("banana");
접미사 생성:
["banana", "anana", "nana", "ana", "na", "a"]
사전순 정렬:
["a", "ana", "anana", "banana", "na", "nana"]
["a", "ana", "anana", "banana", "na", "nana"]
solution("programmers");
접미사 생성:
["programmers", "rogrammers", "ogrammers", "grammers", "rammers", "ammers", "mmers", "mers", "ers", "rs", "s"]
사전순 정렬:
["ammers", "ers", "grammers", "mers", "mmers", "ogrammers", "programmers", "rammers", "rogrammers", "rs", "s"]
["ammers", "ers", "grammers", "mers", "mmers", "ogrammers", "programmers", "rammers", "rogrammers", "rs", "s"]
function solution(my_string) {
return Array.from({ length: my_string.length }, (_, i) => my_string.slice(i))
.sort();
}
Array.from({ length: my_string.length }, (_, i) => my_string.slice(i))
my_string의 모든 접미사를 생성합니다.Array.from({ length: my_string.length }, callback):my_string.length인 배열을 생성.i를 사용하여 접미사를 만듦.my_string.slice(i):my_string의 i번째 인덱스부터 끝까지 잘라냄."banana"i = 0 → "banana".i = 1 → "anana".i = 2 → "nana".i = 3 → "ana".i = 4 → "na".i = 5 → "a".["banana", "anana", "nana", "ana", "na", "a"]..sort();
sort()는 문자열의 유니코드 값에 따라 배열 요소를 정렬.["banana", "anana", "nana", "ana", "na", "a"].["a", "ana", "anana", "banana", "na", "nana"].