Loading...
02257
MinusOne
type MinusOne<T extends number> = T extends 0 ? -1 : ParsInt<RemoveLeadingZero<ReverseString<StringIntegerMinusOne<ReverseString<`${T}`>>>>> type StringIntegerMinusOne<T extends string> = T extends `${infer First extends number}${infer Rest}` ? First extends 0 ? `9${StringIntegerMinusOne<Rest>}` : `${[9,0,1,2,3,4,5,6,7,8][First]}${Rest}` : never; type ReverseString<S extends string> = S extends `${infer First}${infer Rest}` ? `${ReverseString<Rest>}${First}` : S; type RemoveLeadingZero<S extends string> = S extends "0" ? S : S extends `0${infer Rest}` ? RemoveLeadingZero<Rest> : S; type ParsInt<S extends string> = S extends `${infer Digit extends number}` ? Digit : never;
Link
해답을 봤다. 배열의 인덱스와 순서는 1 차이가 나는 점을 이용하여 계산을 하는 방식이며, 연산을 위해 문자열로 변환, 순서뒤집기 등의 과정이 포함되었다.

본 페이지는 상업적 목적이 아닌

개인 포트폴리오 공개용이며

코드는 깃허브에 모두 공개되어 있습니다.

NextJS Typescript react-query @chakra-ui 로 제작되었습니다.