์‹œ์ € ์•”ํ˜ธ - ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Swift)

2022. 9. 27. 16:56ใ†ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค-Swift

์‹œ์ € ์•”ํ˜ธ - ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Swift)

 

 

๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/12926

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

๋ฌธ์ œ ์ ‘๊ทผ

๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ๋งŒ๋“  ๋’ค, ๊ณต๋ฐฑ์ด ์•„๋‹๋•Œ ์ƒˆ๋กœ์šด ๊ฐ’์œผ๋กœ ๋Œ€์ฒดํ•ด์ค€๋‹ค.

 

 

๋‚˜์˜ ํ’€์ด

 

์•„์Šคํ‚ค์ฝ”๋“œ์˜ ์ˆซ์ž๋กœ 123์€ z์˜ ๋‹ค์Œ ์ˆซ์ž, 91์€ Z์˜ ๋‹ค์Œ ์ˆซ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋•Œ๋ฅผ ๊ธฐ์ ์œผ๋กœ a, A๋กœ ์ฃผ์—ˆ๋Š”๋ฐ ์ด ๋ถ€๋ถ„์ด ํ•˜๋“œ์ฝ”๋”ฉํ•˜๋Š” ๋Š๋‚Œ์ด ๋“ค์–ด์„œ ๋‹ค๋ฅธ๋ถ„์˜ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ดค๋‹ค.

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด

 

์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์ง‘์ค‘ํ•œ ๋‹ค๋ฅธ์‚ฌ๋žŒ์˜ ํ’€์ด

 

 

ํ”ผ๋“œ๋ฐฑ

1. s.utf8.map์„ ํ•˜๊ฒŒ๋˜๋ฉด ์•„์Šคํ‚ค์ฝ”๋“œ์˜ ์ˆซ์ž๋กœ ๋ณ€ํ™˜๋œ ๋ฐฐ์—ด์„ ๋‹ด์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. (s.utf8๋งŒ ํ•˜๊ฒŒ๋œ๋‹ค๋ฉด ๋˜‘๊ฐ™์€ String์ด ๋ฐ˜ํ™˜)

2. map ๋‚ด๋ถ€์—์„œ ํ‘œํ˜„์‹๊ณผ return์„ ๊ฐ™์ด ์“ฐ๋Š” ๊ฒƒ์— ์ต์ˆ™ํ•ด์ง€๊ธฐ

3. ๋Œ€๋ฌธ์ž๋Š” 65~90, ์†Œ๋ฌธ์ž๋Š” 97~122

4. ์•ŒํŒŒ๋ฒณ์ธ ๊ฒฝ์šฐ์—๋Š” ํŠน์ • ๋กœ์ง์„ ๊ฑฐ์น˜๊ณ  ์•„๋‹Œ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด์„œ๋Š” return $0๋งŒ ํ•ด์คŒ์œผ๋กœ์จ ๊ณต๋ฐฑ์— ๋Œ€ํ•œ ๋กœ์ง์„ ํ”ผํ•œ๋‹ค.

5. ์ „๋ถ€ lowercased()๋กœ ๋ฐ”๊พธ๊ณ  ๋ณ€์ˆ˜๊ฐ€ isUppercase์ธ ๊ฒฝ์šฐ์—๋งŒ uppercased()ํ•ด์ค€๋‹ค.

6. String์„ map์„ ํ†ตํ•ด ๋ฐฐ์—ด๋กœ๋งŒ๋“ค๋ฉด character ๋ฐฐ์—ด์ด ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  characterํƒ€์ž…์„ uppercasedํ•˜๋ฉด String์ด ๋œ๋‹ค.