๋ชฉ๋ก์ „์ฒด ๊ธ€ (454)

Bibi's DevLog ๐Ÿค“๐ŸŽ

[๋ฐฑ์ค€ 10987] ๋ชจ์Œ์˜ ๊ฐœ์ˆ˜ (Swift)

[๋ฐฑ์ค€ 10987] ๋ชจ์Œ์˜ ๊ฐœ์ˆ˜ (Swift) 10987๋ฒˆ: ๋ชจ์Œ์˜ ๊ฐœ์ˆ˜ ์ž…๋ ฅ ๋ฌธ์ž์—ด์—์„œ ๋ชจ์Œ(a, e, i, o, u)์˜ ๊ฐฏ์ˆ˜๋ฅผ ์„ธ์„œ ์ถœ๋ ฅํ•˜๋Š” ๋‹จ์ˆœํ•œ ๋ฌธ์ œ์ด๋‹ค. ํ’€์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํ• ์ง€ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด ๋ณด์•˜๋‹ค. ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๋ฅผ ๋Œ๋ฉฐ ์–ด๋–ค ๋ฌธ์ž๊ฐ€ a, e, i, o, u ์ค‘ ํ•˜๋‚˜๋ผ๋„ ๊ฐ™์€์ง€ ํ™•์ธํ•˜๊ธฐ (== ์—ฐ์‚ฐ์ž ํ™œ์šฉ) a, e, i, o, u ๋ฅผ ๋‹ด์€ ๋ชจ์Œ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ , ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๋ฅผ ๋Œ๋ฉฐ ์–ด๋–ค ๋ฌธ์ž๊ฐ€ ๋ชจ์Œ ๋ฐฐ์—ด์— ํฌํ•จ๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ (contains(_:) ํ™œ์šฉ) ๋‘ ํ’€์ด๋ฅผ ๋ชจ๋‘ ์ž‘์„ฑํ–ˆ๊ณ  ๋‘˜ ๋‹ค ๋ชจ๋‘ ์ž˜ ํ’€๋ ธ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ์˜๋ฌธ์ด ์ƒ๊ฒผ๋˜ ๋ถ€๋ถ„์€ ๋‘ ํ’€์ด์˜ ์‹คํ–‰์‹œ๊ฐ„์ด ์™„์ „ํžˆ ๊ฐ™์•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋‚˜๋Š” ๋‹น์—ฐํžˆ ํ’€์ด1์ด ๋” ๋น ๋ฅผ ๊ฒƒ์ด๋ผ ์˜ˆ์ƒํ•˜๊ณ  ํ’€์ด1์„ ๋จผ์ € ์‹œ๋„ํ•˜๊ณ , ๋งž์€ ๊ฑธ ํ™•์ธํ•œ ๋’ค ํ’€์ด..

[Swift Language Guide (5.7)] Structures and Classes ๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค

[Swift Language Guide (5.7)] Structures and Classes ๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค Structures and Classes - The Swift Programming Language (Swift 5.7) ๊ตฌ์กฐ์ฒด*์™€ *ํด๋ž˜์Šค ๋Š” ๋‹น์‹ ์˜ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๋˜๋Š” ๋‹ค๋ชฉ์ ์˜ ์œ ์—ฐํ•œ ๊ตฌ์กฐ๋“ค์ž…๋‹ˆ๋‹ค. ์ƒ์ˆ˜, ๋ณ€์ˆ˜, ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ๋•Œ์™€ ๊ฐ™์€ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋‹น์‹ ์˜ ๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค์— ํ”„๋กœํผํ‹ฐ๋“ค๊ณผ ๋ฉ”์„œ๋“œ๋“ค์„ ๋”ํ•ด ๊ธฐ๋Šฅ์„ ๋”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค๊ณผ ๋‹ค๋ฅด๊ฒŒ, Swift๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํด๋ž˜์Šค๋‚˜ ๊ตฌ์กฐ์ฒด๋ฅผ ์œ„ํ•œ ๋ณ„๋„์˜ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋„๋ก ์š”๊ตฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Swift์—์„œ๋Š”, ํ•˜๋‚˜์˜ ํŒŒ์ผ์— ๊ตฌ์กฐ์ฒด๋‚˜ ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•˜๊ณ , ๊ทธ ๊ตฌ์กฐ์ฒด๋‚˜ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์™ธ๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋‹ค..

2022๋…„์˜ ํšŒ๊ณ 

์ด ๋ธ”๋กœ๊ทธ์— ๊ฐœ์ธ์ ์ธ ๊ธ€์„ ์ ๋Š” ๊ฒƒ์€ ์ฒ˜์Œ์ด๋‹ค. ์•„๋ฌด๋ž˜๋„ ์ œ๋ชฉ์ด DevLog์ด๊ณ , ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๊ธฐ๋ก์šฉ์œผ๋กœ ์“ฐ๋Š” ๋ธ”๋กœ๊ทธ์ด๋‹ค๋ณด๋‹ˆ ๋‚ด ์ƒ๊ฐ๋ณด๋‹ค๋Š” ์ •๋ณด์„ฑ ๊ธ€์„ ์ฃผ๋กœ ์˜ฌ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ตœ๊ทผ “๋ถ„๋ช… ๋†€๊ณ  ์žˆ์ง„ ์•Š์€๋ฐ.. ๋ญ”๊ฐ€ ๋‚ด๊ฐ€ ์–ด๋””๋กœ ๊ฐ€๊ณ  ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค”๋Š” ๋Š๋‚Œ์ด ๋“ค์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ธฐ๋ก์„ ๋‚จ๊ฒจ์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๋•Œ๋งˆ์นจ ์ƒˆํ•ด๋„ ๋ฐ์•˜๊ฒ ๋‹ค(3์ฃผ๋‚˜ ์ง€๋‚ฌ์ง€๋งŒ..ใ…Žใ…Ž) ๊ฒธ์‚ฌ๊ฒธ์‚ฌ 2022๋…„์˜ ํšŒ๊ณ ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๋ ค ํ•œ๋‹ค. ํšŒ๊ณ ๋ฅผ ์“ฐ๊ธฐ ์ „์— ํšŒ๊ณ ๋Š” ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”์ง€(๊ฐœ์ธํšŒ๊ณ ) ์— ๋Œ€ํ•œ ๊ธ€์„ ์ฐพ์•„๋ณด๊ณ  ์กฐ๊ธˆ ์ฐธ๊ณ ํ–ˆ๋‹ค. ์ฒ˜์Œ ์“ฐ๋Š” ๊ธด ํšŒ๊ณ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์ด๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค ์‹ถ์–ด์„œ์˜€๋‹ค. ๋‚ด๊ฐ€ ๋‹ตํ•˜๊ณ  ์‹ถ์€ ๋ช‡ ๊ฐœ์˜ ์งˆ๋ฌธ๋“ค๋งŒ ์ถ”๋ ค์„œ ๊ฐ€์ ธ์™”๋‹ค. ์˜›๋‚  100๋ฌธ 100๋‹ต๊ฐ™์€ ๋Š๋‚Œ๋„ ๋“ ๋‹คใ…Žใ…Ž ์˜ฌํ•ด ๊ฐ€์žฅ ์ž๋ž‘์Šค๋Ÿฌ์šด ์ผ์€? 2022 ์ฝ”๋“œ์Šค์ฟผ๋“œ..

[๋ฐฑ์ค€ 10811] ๋ฐ”๊ตฌ๋‹ˆ ๋’ค์ง‘๊ธฐ (Swift)

10811๋ฒˆ: ๋ฐ”๊ตฌ๋‹ˆ ๋’ค์ง‘๊ธฐ n๊ฐœ์˜ ๋ฐ”๊ตฌ๋‹ˆ๋“ค์ด ์žˆ์„ ๋•Œ, m๋ฒˆ ๋ฐ”๊ตฌ๋‹ˆ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ ๋‹ค. m๊ฐœ์˜ ์‹œํ–‰๋งˆ๋‹ค i๋ถ€ํ„ฐ j๊นŒ์ง€๋ผ๋Š” ๋ฒ”์œ„๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ i ≤ j ≤ n) i == j ์ผ ๋•Œ๋Š” ๋ฐ”๊ฟ€ ํ•„์š”๊ฐ€ ์—†๋‹ค. j - i == 1 ์ผ ๋•Œ๋Š” ๋‘ ์š”์†Œ์˜ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊ฟ”์ค€๋‹ค ``swapAt(*:*:)` ์‚ฌ์šฉ ๋‚˜๋จธ์ง€ ๊ฒฝ์šฐ์—๋Š” i๋ถ€ํ„ฐ j๊นŒ์ง€์˜ ๋ฐ”๊ตฌ๋‹ˆ๋“ค์„ ๋’ค์ง‘์–ด์•ผ ํ•œ๋‹ค. i ๋ถ€ํ„ฐ j๊นŒ์ง€ ๋’ค์ง‘๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋“ค ์™ธ์— ๋‚˜๋จธ์ง€ ๋ฐ”๊ตฌ๋‹ˆ๋“ค์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋œ๋‹ค. ๋’ค์ง‘๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋“ค์˜ ์•ž ๋ถ€๋ถ„ = head : ๊ทธ๋Œ€๋กœ ์œ ์ง€ ๋’ค์ง‘๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋“ค = reversed reversed() ์‚ฌ์šฉ ๋’ค์ง‘๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋“ค์˜ ๋’ท ๋ถ€๋ถ„ = tail : ๊ทธ๋Œ€๋กœ ์œ ์ง€ head + reversed + tail ์˜ ๋ถ€๋ถ„ ๋ฐฐ์—ด๋“ค์„ ๋ชจ๋‘ ํ•ฉ์ณ ํ•˜๋‚˜์˜ ๋ฐฐ์—ด๋กœ ๋งŒ๋“  ๋‹ค์Œ, ๊ทธ ๋ฐฐ..

[Swift] Array ๋ฐฐ์—ด : ๋’ค์ง‘๊ธฐ - reversed() / ์ž๋ฆฌ๋ฐ”๊พธ๊ธฐ swapAt(_:_:)

Apple Developer Documentation reversed() ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ทฐ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. func reversed() -> ReversedCollection ๋ฐฐ์—ด์˜ ์ˆœ์„œ๋ฅผ ๋’ค์ง‘์„ ๋•Œ ์œ ์šฉํ•˜๋‹ค String ๋ฌธ์ž์—ด๋„ ๋ฐฐ์—ด์ด๋ฏ€๋กœ ๋’ค์ง‘์„ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋งŒ ๋ฆฌํ„ดํƒ€์ž…์ด ๋ฐฐ์—ด์ด ์•„๋‹Œ ReversedCollection์ด๋ฏ€๋กœ, ํ•„์š”ํ•˜๋‹ค๋ฉด Array๋‚˜ String์œผ๋กœ ํ˜•๋ณ€ํ™˜ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์›๋ž˜ ํƒ€์ž…์œผ๋กœ ํ˜•๋ณ€ํ™˜ํ•˜๋ ค๋ฉด, ์ปฌ๋ ‰์…˜์˜ sequence-based ๋˜๋Š” collection-based ์ด๋‹ˆ์…œ๋ผ์ด์ €๋ฅผ ์“ธ ์ˆ˜ ์žˆ์–ด์•ผ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ReversedCollection์€ ์ปฌ๋ ‰์…˜์„ ๋ž˜ํ•‘ํ•˜๊ณ , ์š”์†Œ์— ์—ญ์ˆœ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค€๋‹ค. let word = "Backwards" for char i..

[Swift] BFS ์˜ˆ์ œ์™€ ํ’€์ด (๋ฐฑ์ค€ 2178 ๋ฏธ๋กœ ํƒ์ƒ‰)

[Swift] BFS ์˜ˆ์ œ์™€ ํ’€์ด (๋ฏธ๋กœ ํƒ์ƒ‰) BFS (Breadth First Search, ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰) ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋“ค์„ ์šฐ์„  ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹. ๊ฐ€๊นŒ์šด ๋…ธ๋“œ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜. 1950๋…„ ๋ฏธ๋กœ๋ฅผ ํƒˆ์ถœํ•˜๋Š” ๊ฐ€์žฅ ์งง์€ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ํƒ„์ƒํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ํ๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ •์„์ด๋‹ค. ์ธ์ ‘ ๋…ธ๋“œ๋ฅผ ํ์— ๋„ฃ์œผ๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์„ ์ž…์„ ์ถœ์ด ๋˜์–ด ๊ฐ€๊นŒ์šด ๋…ธ๋“œ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜๊ฒŒ ๋œ๋‹ค. O(n) ์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค. (n = ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜) ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ ์‹ค์ œ ์ˆ˜ํ–‰ ์‹œ๊ฐ„์€ DFS๋ณด๋‹ค BFS๊ฐ€ ๋น ๋ฅธ ํŽธ์ด๋‹ค. ๋™์ž‘ ๊ณผ์ • ํƒ์ƒ‰ ์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ์Šคํƒ์— ์‚ฝ์ž…ํ•˜๊ณ , ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค. ํ์—์„œ ๋…ธ๋“œ๋ฅผ ๊บผ๋‚ด, ํ•ด๋‹น ๋…ธ๋“œ์˜ ์ธ์ ‘ ๋…ธ๋“œ ์ค‘์—์„œ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ํ์— ์‚ฝ์ž…ํ•˜๊ณ  ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค. ๋งŒ์•ฝ ์ธ์ ‘ ๋…ธ๋“œ ์ค‘ ๋ฐฉ..

[Swift] DFS ์˜ˆ์ œ์™€ ํ’€์ด (Softeer ์žฅ์• ๋ฌผ ์ธ์‹ ํ”„๋กœ๊ทธ๋žจ)

[Swift] DFS ์˜ˆ์ œ์™€ ํ’€์ด (์žฅ์• ๋ฌผ ์ธ์‹ ํ”„๋กœ๊ทธ๋žจ) Softeer ์˜ˆ์ œ ์ถœ์ฒ˜: Softeer “์žฅ์• ๋ฌผ ์ธ์‹ ํ”„๋กœ๊ทธ๋žจ” (๋˜๋Š” ์ด์ฝ”ํ…Œ “์Œ๋ฃŒ์ˆ˜ ์–ผ๋ ค๋จน๊ธฐ” - ๋” ์‰ฌ์›€) ๋‘˜๋‹ค Swift๋Š” ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค..ใ…  DFS ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰ = ์ž์‹ ๋…ธ๋“œ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹. ๋ฉ€๋ฆฌ ์žˆ๋Š” ๋…ธ๋“œ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜. (๊ทธ๋ž˜ํ”„์—์„œ ๊นŠ์€ ๋ถ€๋ถ„์„ ์šฐ์„ ์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜) ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ : ํ•œ ๋ฒˆ ์ฒ˜๋ฆฌํ•œ ๋…ธ๋“œ๋ฅผ ๋‹ค์‹œ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๋„๋ก ์ฒดํฌํ•˜๋Š” ๊ฒƒ. ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ์— ๊ธฐ์ดˆํ•œ๋‹ค. ์žฌ๊ท€๋ฅผ ์ด์šฉํ•˜๋ฉด ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. O(n) ์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค. (n = ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜) โ—๏ธDFS๋Š” ์Šคํƒ์„ ์ด์šฉํ•˜๋ฉฐ ์‹ค์ œ ๊ตฌํ˜„์‹œ์—๋Š” ์žฌ๊ท€๋กœ ํ’€ ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ œ ์ž์œจ์ฃผํ–‰ํŒ€ SW ์—”์ง€๋‹ˆ์–ด์ธ ๋‹น์‹ ์—๊ฒŒ ์žฅ์• ๋ฌผ๊ณผ ๋„๋กœ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ..