17. ๋ฐด๋“œ ์ •๋ ฌ ๐ŸŽธ

EEuglenaยท2023๋…„ 8์›” 14์ผ
0

JavaScript30

๋ชฉ๋ก ๋ณด๊ธฐ
18/27
post-thumbnail

๋ชฉํ‘œ

๊ด€์‚ฌ(A, An, The)๋ฅผ ์ œ์™ธํ•˜๊ณ  ์•ŒํŒŒ๋ฒณ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด ๋ณด์ž.
(์˜ค๋Š˜ ๊ณผ์ œ๊ฐ€ ์งง๊ธฐ๋„ ํ–ˆ๊ณ  ๋‚ด์ผ์€ ๊ณตํœด์ผ์ด๋‹ˆ ์‰ฌ๊ณ  ์‹ถ์–ด์„œ ๋‚ด์ผ ๊ณผ์ œ๋ฅผ ๋ฏธ๋ฆฌ ํ•ด๋ฒ„๋ ธ๋‹ค ๐Ÿ˜‰)

๋ ˆ์ด์•„์›ƒ ๋งŒ๋“ค๊ธฐ

์•ŒํŒŒ๋ฒณ์ˆœ/์—ญ์ˆœ, ๊ด€์‚ฌ๋ฅผ ํฌํ•จํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฒ„ํŠผ์„ ๋งŒ๋“ค๊ณ  ์•„๋ž˜์— ๋ฆฌ์ŠคํŠธ ํ˜•์‹์œผ๋กœ ๋ฐด๋“œ ์ด๋ฆ„์„ ๋‚˜์—ดํ•˜์˜€๋‹ค.

์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

์›๋ณธ ๋ฐฐ์—ด์€ ๊ฐ•์˜ ์ž๋ฃŒ์—์„œ ๋ณต์‚ฌํ•ด ์™”๊ณ , ์›๋ณธ ๋ฐฐ์—ด์„ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•ด toSorted ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†์„ ๋•Œ๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์ง€๋งŒ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค. ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ๋„ ํ•จ์ˆ˜๋กœ ๋งŒ๋“ค์–ด ์ „๋‹ฌํ–ˆ๋‹ค.

๊ด€์‚ฌ๋ฅผ ์ œ์™ธํ•œ ๋ถ€๋ถ„๋งŒ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ด๋ฒˆ ๊ณผ์ œ์˜ ํ•ต์‹ฌ์ด๋‹ค. ์ด๋Š” ์ •๊ทœํ‘œํ˜„์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๊ด€์‚ฌ๊ฐ€ ์žˆ๋Š” ์ด๋ฆ„์€ 'A ', 'An ', 'The ' ์ค‘ ํ•˜๋‚˜๋กœ ์‹œ์ž‘ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๊ทธ๋ฃน์œผ๋กœ ์ง€์ •ํ•˜์˜€๋‹ค. ์ด๋•Œ (?: )๋กœ ๊ทธ๋ฃน์„ ์ง€์ •ํ•˜๋ฉด ํƒ์ƒ‰์€ ํ•˜๋˜ ์ €์žฅ์€ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ด€์‚ฌ๋ฅผ ์ œ์™ธํ•œ ๋ถ€๋ถ„๋งŒ์„ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

๊ด€์‚ฌ๋ฅผ ํฌํ•จํ•  ๊ฒฝ์šฐ ๋ฐ”๋กœ ์ •๋ ฌํ•œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์ œ์™ธํ•  ๊ฒฝ์šฐ ์œ„์—์„œ ๋งŒ๋“  ์ •๊ทœํ‘œํ˜„์‹์œผ๋กœ ๊ฑธ๋Ÿฌ๋‚ธ ๋’ค ์ •๋ ฌํ•œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ์ •๋ ฌํ•œ ๋ฐฐ์—ด๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ฑ„์›Œ ํ‘œ์‹œํ•œ๋‹ค.

์ƒˆ๋กœ ์•Œ๊ฒŒ ๋œ ์ 

์ •๊ทœํ‘œํ˜„์‹์€ ๋ช‡ ๋ฒˆ์„ ๊ณต๋ถ€ํ•ด๋„ ํ—ท๊ฐˆ๋ฆฐ๋‹ค. ์ „์—๋„ ํ•œ ๋ฒˆ ์ •๊ทœํ‘œํ˜„์‹์„ ์“ฐ๋Š” ๊ณผ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ์—๋Š” ๊ทธ๋•Œ๋ณด๋‹ค ๋ณต์žกํ•œ ํŒจํ„ด์„ ๊ฒ€์‚ฌํ•ด์•ผ ํ–ˆ๋‹ค. ์ •๊ทœํ‘œํ˜„์‹์€ ํŒจํ„ด์„ ์ง๊ด€์ ์œผ๋กœ ํ™•์ธํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ์„œ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ฒจ๋„ ๊ณ ์น˜๊ธฐ ํž˜๋“ค๋‹ค๋Š” ์ ์ด ๊นŒ๋‹ค๋กœ์šด ๊ฒƒ ๊ฐ™๋‹ค.

Array.prototype.sort()/toSorted()์— ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋Š” ๊ฒŒ ์˜์™ธ์˜€๋‹ค. ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์ง€๋Š” ์•Š์ง€๋งŒ ์ •๋ ฌํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ๊ต‰์žฅํžˆ ํ—ท๊ฐˆ๋ ค์„œ ๋Š˜ ์‹œ๊ฐ„์„ ๋งŽ์ด ์žก์•„๋จน๋Š”๋‹ค. sort๋ฅผ ํ•œ ๋’ค์— reverse๋ฅผ ํ•ด๋„ ๋˜๊ฒ ์ง€๋งŒ ์™ ์ง€ ๋ถˆํ•„์š”ํ•œ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ํ”ผํ•˜๊ฒŒ ๋œ๋‹ค. ๋ฌผ๋ก  reversed๋ฅผ ์“ธ ๊ฒฝ์šฐ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(1)์ด๋ผ์„œ ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์€ ์—†๋‹ค.

์ œ์ถœํ•˜์ง€ ์•Š์€ ์ƒํƒœ์˜ ํผ์—์„œ ๊ฐ’์„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ๋ฒ•์ด ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ํผ ์•ˆ์˜ ์š”์†Œ์— ์ง์ ‘ ์ ‘๊ทผํ•ด์„œ ๊ฐ’์„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜๋Š” ์žˆ์—ˆ๊ฒ ์ง€๋งŒ ํผ๊ณผ ์ฒดํฌ๋ฐ•์Šค ๊ฐ’์„ ๋”ฐ๋กœ ๋ณ€์ˆ˜์— ์ €์žฅํ•ด ๋‘๊ณ  ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹์„ ์„ ํƒํ–ˆ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ๋œ ์šฐ์•„ํ•˜๊ณ  ๋ถ€์ž์—ฐ์Šค๋Ÿฌ์šด ๋ฐฉ๋ฒ•์ด์–ด์„œ ์ข€ ์‹ค๋งํ–ˆ๋‹ค.

์†Œ์Šค ์ฝ”๋“œ

Visit Github Repository

0๊ฐœ์˜ ๋Œ“๊ธ€