๐Ÿ’™ Type Challenges/Typescript Exercises

[TS] TypeScript Exercises 7 ํ•ด์„ ๋ฐ ํ’€์ด

์„ ๋‹ฌ 2023. 7. 19. 17:18
๋ฐ˜์‘ํ˜•

Intro

    Filtering was completely removed from the project.
    It turned out that this feature was just not needed
    for the end-user and we spent a lot of time just because
    our office manager told us to do so. Next time we should
    instead listen to the product management.

    Anyway we have a new plan. CEO's friend Nick told us
    that if we randomly swap user names from time to time
    in the community, it would be very funny and the project
    would definitely succeed!

 

ํ•„ํ„ฐ๋ง์ด ํ”„๋กœ์ ํŠธ์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์ด ์‚ฌ์‹ค ์—”๋“œ์œ ์ €๋“ค์—๊ฒŒ๋Š” ํ•„์š” ์—†๋‹ค๊ณ  ๋ฐํ˜€์กŒ๊ธฐ ๋•Œ๋ฌธ์ด์ฃ . ๊ทธ์ € ์ƒ์‚ฌ๊ฐ€ ํ•˜๋ผ๊ณ  ํ•ด์„œ ์ €ํฌ๋Š” ๋งŽ์€ ์‹œ๊ฐ„์„ ์จ์•ผ๋งŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์‹œ๊ฐ„์—๋Š” ๋Œ€์‹  ํ”„๋กœ๋•ํŠธ ๋งค๋‹ˆ์ €์—๊ฒŒ ์ง์ ‘ ๋“ฃ๋„๋ก ํ•ฉ์‹œ๋‹ค

 

์–ด์จŒ๋“  ์ด์ œ ์ƒˆ๋กœ์šด ๊ณ„ํš์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ‘œ๋‹˜์˜ ์นœ๊ตฌ Nick์”จ๊ฐ€ ์ €ํฌ์—๊ฒŒ ๋งํ–ˆ์Šต๋‹ˆ๋‹ค "์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์œ ์ €์˜ ์ด๋ฆ„ ์ˆœ์„œ๋ฅผ ๋žœ๋ค์œผ๋กœ ๋ฐ”๊พผ๋‹ค๋ฉด, ๊ต‰์žฅํžˆ ์žฌ๋ฐŒ์„๊ฑฐ์•ผ!"

 

Exercise

    Implement swap which receives 2 persons and returns them in
    the reverse order. The function itself is already
    there, actually. We just need to provide it with proper types.
    Also this function shouldn't necessarily be limited to just
    Person types, lets type it so that it works with any two types
    specified.

 

๋‘๋ช…์˜ ์‚ฌ๋žŒ ๊ฐ์ฒด๋ฅผ ๋ฐ›์•„์™€์„œ ์ด๋ฅผ ๋ฐ˜๋Œ€ ์ˆœ์„œ๋กœ ๋ฆฌํ„ดํ•˜๋Š” ์Šค์™€ํ•‘ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ์‹œ๋‹ค. ์‚ฌ์‹ค ๊ธฐ๋Šฅ ์ž์ฒด๋Š” ์ด๋ฏธ ์žˆ๊ณ  ์šฐ๋ฆฌ๋Š” ์ ์ ˆํ•œ ํƒ€์ž…์„ ์ง€์ •ํ•ด์„œ ์ œ๊ณตํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ๊ธฐ๋Šฅ์€ Person ํƒ€์ž…์—๋งŒ ํ•œ์ •๋˜์–ด์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠน์ •๋œ ๋‘ ํƒ€์ž… ์•„๋ฌด๊ฑฐ๋‚˜์—์„œ๋„ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ์‹œ๋‹ค.

 

Code

export function swap<T, K>(v1: T, v2: K): [K, T] {
    return [v2, v1];
}

 

From

https://typescript-exercises.github.io/#exercise=7&file=%2Findex.ts

 

TypeScript Exercises

A set of interactive TypeScript exercises

typescript-exercises.github.io

 

๋ฐ˜์‘ํ˜•