타입 챌린지 8987 - Subsequence

소파의 벨로그·2025년 5월 10일

타입챌린지

목록 보기
79/131

문제 링크

문제

중복되지 않은 요소를 가진 배열을 받고, 모든 가능한 순열을 반환한다.

순열은 배열에서 기존 요소의 순서 변경 없이 일부 요소를 제거하거나 아무 요소도 제거하지 않은 배열에서 오는 순서이다.

Given an array of unique elements, return all possible subsequences.

A subsequence is a sequence that can be derived from an array by deleting some or no elements without changing the order of the remaining elements.

내 풀이

type Subsequence<T extends any[]> = 
  T extends [infer Start,...infer Rest]?
    [Start,...Subsequence<Rest>]|Subsequence<Rest>
  :[]

재귀적으로 구현했다.

T에 빈 배열이 오면(종료조건) 빈 배열을 반환하고

그렇지 않다면 첫번째 요소를 포함하거나 포함하지 않은 나머지 뒤 배열의 재귀 값을 넣어주었다.

0개의 댓글