접미사 배열

조건호·2023년 8월 20일
0

코딩 테스트

목록 보기
6/9

문제 설명

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


수정 전 풀이 방법

  1. 배열로 설정해준다.
  2. fill로 채워준 후 index만큼 하나씩 글자를 추가해준다.
  3. 오름차순

수정 전 코드

function solution(my_string) {
   return [...my_string].fill().map((v,i)=>my_string.substring(i)).sort()
}

다른 분 풀이

reduce로 접근하였습니다.

수정 후 코드

function solution(my_string) {
    const length = my_string.length
    return [...my_string].reduce((acc, cur, index)=>{
        const curStr = my_string.slice(index, length)
        return [...acc, curStr]
    },[]).sort()
}

수정 후 코드가 처리하는 시간이 더 길지만 reduce에 대해서 자세하게 알게되는 계기가 되었습니다. 다음에는 reduce에 대해서 다루도록 하겠습니다.

profile
주니어 프론트엔드 개발자입니다.

0개의 댓글