Ts challenge(6) - ReplaceAll

김영현·2024년 5월 23일
0

ts challenge

목록 보기
6/6

ReplaceAll

제네릭으로 원본문자열 S와 교체당하는 문자 From, 교체 하려는 문자 To를 받아서 문자열 S에 존재하는 모든 FromTo로 변환한다.

풀이

저번에 Replace메서드를 구현해봐서 그런지 어렵지 않았다. 재귀를 응용하는 게 핵심이다.

type ReplaceAll<S extends string, From extends string, To extends string> = From extends '' 
? S : S extends `${infer left}${From}${infer right}` 
? `${ReplaceAll<left,From,To>}${To}${ReplaceAll<right,From,To>}` : S

여담이지만 분할정복은 개발자로서 필요한 덕목이 아닐까 싶다.
어떤 알고리즘 or 문제든 작은 단위로 쪼개서 해결하다보면 어느새 문제는 해결되어있으니...
작게 작게 쪼개서 생각하는 습관을 조금씩 들여보자

profile
모르는 것을 모른다고 하기

0개의 댓글