타입챌린지 2070 - Drop Char

소파의 벨로그·2025년 4월 4일

타입챌린지

목록 보기
44/131

문제 링크

문제

string에서 특정한 Char를 없애라

Drop a specified char from a string.

내 풀이

type DropCharImplement<S extends string ,C extends string,Result extends string=''>=
  S extends `${infer Start}${infer Last}`?
    Start extends C?DropCharImplement<Last,C,Result>:DropCharImplement<Last,C,`${Result}${Start}`>
  :Result

type DropChar<S extends string, C extends string>=DropCharImplement<S,C>

infer을 사용해 C와 같으면 Result에 넣지 않는 방식으로 타입을 구현했다.

다른 사람의 풀이

type DropChar<S, C extends string> = S extends `${infer L}${C}${infer R}` ? DropChar<`${L}${R}`, C> : S;

다른 풀이가 있었다.

항상 다른 깔끔한 풀이가 존재하는 것 같다.

참고자료

https://github.com/type-challenges/type-challenges/issues/2074

0개의 댓글