๋ชฉ๋ก์ ์ฒด ๊ธ (454)
Bibi's DevLog ๐ค๐
[๋ฐฑ์ค 10987] ๋ชจ์์ ๊ฐ์ (Swift) 10987๋ฒ: ๋ชจ์์ ๊ฐ์ ์ ๋ ฅ ๋ฌธ์์ด์์ ๋ชจ์(a, e, i, o, u)์ ๊ฐฏ์๋ฅผ ์ธ์ ์ถ๋ ฅํ๋ ๋จ์ํ ๋ฌธ์ ์ด๋ค. ํ์ด๋ฅผ ์ด๋ป๊ฒ ํ ์ง ๊ณ ๋ฏผํ๋ค๊ฐ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์๊ฐํด ๋ณด์๋ค. ๋ฌธ์์ด์ ๋ฌธ์๋ฅผ ๋๋ฉฐ ์ด๋ค ๋ฌธ์๊ฐ a, e, i, o, u ์ค ํ๋๋ผ๋ ๊ฐ์์ง ํ์ธํ๊ธฐ (== ์ฐ์ฐ์ ํ์ฉ) a, e, i, o, u ๋ฅผ ๋ด์ ๋ชจ์ ๋ฐฐ์ด์ ๋ง๋ค๊ณ , ๋ฌธ์์ด์ ๋ฌธ์๋ฅผ ๋๋ฉฐ ์ด๋ค ๋ฌธ์๊ฐ ๋ชจ์ ๋ฐฐ์ด์ ํฌํจ๋๋์ง ํ์ธํ๊ธฐ (contains(_:) ํ์ฉ) ๋ ํ์ด๋ฅผ ๋ชจ๋ ์์ฑํ๊ณ ๋ ๋ค ๋ชจ๋ ์ ํ๋ ธ๋ค. ๊ฐ์ธ์ ์ผ๋ก ์๋ฌธ์ด ์๊ฒผ๋ ๋ถ๋ถ์ ๋ ํ์ด์ ์คํ์๊ฐ์ด ์์ ํ ๊ฐ์๋ค๋ ๊ฒ์ด๋ค. ๋๋ ๋น์ฐํ ํ์ด1์ด ๋ ๋น ๋ฅผ ๊ฒ์ด๋ผ ์์ํ๊ณ ํ์ด1์ ๋จผ์ ์๋ํ๊ณ , ๋ง์ ๊ฑธ ํ์ธํ ๋ค ํ์ด..
[Array] contains(_:) + ์๊ฐ๋ณต์ก๋ ํ๊ตฌ Apple Developer Documentation ์ํ์ค๊ฐ ์ฃผ์ด์ง ์์๋ฅผ ํฌํจํ๊ณ ์๋์ง๋ฅผ ๋ํ๋ด๋ ๋ถ๋ฆฌ์ธ ๊ฐ์ ๋ฐํํฉ๋๋ค. ์ ์ธ func contains(_ element: Self.Element) -> Bool Element ๊ฐ Equatable ์ ์ค์ํ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฆฌํด๊ฐ ๋ง์ฝ ์ํ์ค ๋ด์์ ์ฃผ์ด์ง ์์๊ฐ ๋ฐ๊ฒฌ๋๋ฉด true, ๊ทธ๋ ์ง ์์ผ๋ฉด false. ํ๋ผ๋ฏธํฐ element : ์ํ์ค์์ ์ฐพ๊ณ ์ ํ๋ ์์. ์ค๋ช ์ด ์์๋ ์ํ์ ์บ์คํธ๋ฅผ ๋ด๊ณ ์๋ ๋ฐฐ์ด์ ๊ฐ์ฅ ์ข์ํ๋ ๋ฐฐ์ฐ๊ฐ ์๋์ง ๋ณด๊ธฐ ์ํด ํ์ธํฉ๋๋ค. let cast = ["Vivien", "Marlon", "Kim", "Karl"] print(cast.contains(..
[Swift Language Guide (5.7)] Structures and Classes ๊ตฌ์กฐ์ฒด์ ํด๋์ค Structures and Classes - The Swift Programming Language (Swift 5.7) ๊ตฌ์กฐ์ฒด*์ *ํด๋์ค ๋ ๋น์ ์ ํ๋ก๊ทธ๋จ ์ฝ๋์ ๊ตฌ์ฑ ์์๊ฐ ๋๋ ๋ค๋ชฉ์ ์ ์ ์ฐํ ๊ตฌ์กฐ๋ค์ ๋๋ค. ์์, ๋ณ์, ํจ์๋ฅผ ์ ์ํ ๋์ ๊ฐ์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํด ๋น์ ์ ๊ตฌ์กฐ์ฒด์ ํด๋์ค์ ํ๋กํผํฐ๋ค๊ณผ ๋ฉ์๋๋ค์ ๋ํด ๊ธฐ๋ฅ์ ๋ํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค๊ณผ ๋ค๋ฅด๊ฒ, Swift๋ ์ฌ์ฉ์ ์ ์ ํด๋์ค๋ ๊ตฌ์กฐ์ฒด๋ฅผ ์ํ ๋ณ๋์ ์ธํฐํ์ด์ค์ ๊ตฌํ ํ์ผ์ ์์ฑํ๋๋ก ์๊ตฌํ์ง ์์ต๋๋ค. Swift์์๋, ํ๋์ ํ์ผ์ ๊ตฌ์กฐ์ฒด๋ ํด๋์ค๋ฅผ ์ ์ธํ๊ณ , ๊ทธ ๊ตฌ์กฐ์ฒด๋ ํด๋์ค์ ๋ํ ์ธ๋ถ ์ธํฐํ์ด์ค๋ ๋ค..
์ด ๋ธ๋ก๊ทธ์ ๊ฐ์ธ์ ์ธ ๊ธ์ ์ ๋ ๊ฒ์ ์ฒ์์ด๋ค. ์๋ฌด๋๋ ์ ๋ชฉ์ด DevLog์ด๊ณ , ๊ฐ๋ฐ ๊ณต๋ถ ๊ธฐ๋ก์ฉ์ผ๋ก ์ฐ๋ ๋ธ๋ก๊ทธ์ด๋ค๋ณด๋ ๋ด ์๊ฐ๋ณด๋ค๋ ์ ๋ณด์ฑ ๊ธ์ ์ฃผ๋ก ์ฌ๋ฆฌ๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ์ต๊ทผ “๋ถ๋ช ๋๊ณ ์์ง ์์๋ฐ.. ๋ญ๊ฐ ๋ด๊ฐ ์ด๋๋ก ๊ฐ๊ณ ์๋์ง ๋ชจ๋ฅด๊ฒ ๋ค”๋ ๋๋์ด ๋ค์๋ค. ๊ทธ๋์ ๊ธฐ๋ก์ ๋จ๊ฒจ์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ๋๋ง์นจ ์ํด๋ ๋ฐ์๊ฒ ๋ค(3์ฃผ๋ ์ง๋ฌ์ง๋ง..ใ ใ ) ๊ฒธ์ฌ๊ฒธ์ฌ 2022๋ ์ ํ๊ณ ๋ฅผ ์์ฑํด ๋ณด๋ ค ํ๋ค. ํ๊ณ ๋ฅผ ์ฐ๊ธฐ ์ ์ ํ๊ณ ๋ ์ด๋ป๊ฒ ์ฐ๋์ง(๊ฐ์ธํ๊ณ ) ์ ๋ํ ๊ธ์ ์ฐพ์๋ณด๊ณ ์กฐ๊ธ ์ฐธ๊ณ ํ๋ค. ์ฒ์ ์ฐ๋ ๊ธด ํ๊ณ ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ด๋๊ฐ ์์ผ๋ฉด ์ข๊ฒ ๋ค ์ถ์ด์์๋ค. ๋ด๊ฐ ๋ตํ๊ณ ์ถ์ ๋ช ๊ฐ์ ์ง๋ฌธ๋ค๋ง ์ถ๋ ค์ ๊ฐ์ ธ์๋ค. ์๋ 100๋ฌธ 100๋ต๊ฐ์ ๋๋๋ ๋ ๋คใ ใ ์ฌํด ๊ฐ์ฅ ์๋์ค๋ฌ์ด ์ผ์? 2022 ์ฝ๋์ค์ฟผ๋..
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 ์ ๋ถ๋ถ ๋ฐฐ์ด๋ค์ ๋ชจ๋ ํฉ์ณ ํ๋์ ๋ฐฐ์ด๋ก ๋ง๋ ๋ค์, ๊ทธ ๋ฐฐ..
Apple Developer Documentation reversed() ์ปฌ๋ ์ ์ ์์๋ฅผ ์ญ์์ผ๋ก ๋ํ๋ด๋ ๋ทฐ๋ฅผ ๋ฐํํ๋ค. func reversed() -> ReversedCollection ๋ฐฐ์ด์ ์์๋ฅผ ๋ค์ง์ ๋ ์ ์ฉํ๋ค String ๋ฌธ์์ด๋ ๋ฐฐ์ด์ด๋ฏ๋ก ๋ค์ง์ ์ ์๋ค. ๋ค๋ง ๋ฆฌํดํ์ ์ด ๋ฐฐ์ด์ด ์๋ ReversedCollection์ด๋ฏ๋ก, ํ์ํ๋ค๋ฉด Array๋ String์ผ๋ก ํ๋ณํ ํด์ฃผ์ด์ผ ํ๋ค. ์๋ ํ์ ์ผ๋ก ํ๋ณํํ๋ ค๋ฉด, ์ปฌ๋ ์ ์ sequence-based ๋๋ collection-based ์ด๋์ ๋ผ์ด์ ๋ฅผ ์ธ ์ ์์ด์ผ ๋ณํํ ์ ์๋ค. ReversedCollection์ ์ปฌ๋ ์ ์ ๋ํํ๊ณ , ์์์ ์ญ์์ผ๋ก ์ ๊ทผํ ์ ์๊ฒ ํด ์ค๋ค. let word = "Backwards" for char i..
[Swift] BFS ์์ ์ ํ์ด (๋ฏธ๋ก ํ์) BFS (Breadth First Search, ๋๋น ์ฐ์ ํ์) ์ธ์ ํ ๋ ธ๋๋ค์ ์ฐ์ ํ์ํ๋ ๋ฐฉ์. ๊ฐ๊น์ด ๋ ธ๋๋ถํฐ ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ. 1950๋ ๋ฏธ๋ก๋ฅผ ํ์ถํ๋ ๊ฐ์ฅ ์งง์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๊ธฐ ์ํด ํ์ํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ํ๋ฅผ ์ฌ์ฉํด ๊ตฌํํ๋ ๊ฒ์ด ์ ์์ด๋ค. ์ธ์ ๋ ธ๋๋ฅผ ํ์ ๋ฃ์ผ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์ ์ ์ ์ถ์ด ๋์ด ๊ฐ๊น์ด ๋ ธ๋๋ถํฐ ํ์ํ๊ฒ ๋๋ค. O(n) ์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค. (n = ๋ฐ์ดํฐ์ ๊ฐ์) ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ ์ค์ ์ํ ์๊ฐ์ DFS๋ณด๋ค BFS๊ฐ ๋น ๋ฅธ ํธ์ด๋ค. ๋์ ๊ณผ์ ํ์ ์์ ๋ ธ๋๋ฅผ ์คํ์ ์ฝ์ ํ๊ณ , ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ๋ฅผ ํ๋ค. ํ์์ ๋ ธ๋๋ฅผ ๊บผ๋ด, ํด๋น ๋ ธ๋์ ์ธ์ ๋ ธ๋ ์ค์์ ๋ฐฉ๋ฌธํ์ง ์์ ๋ ธ๋๋ฅผ ๋ชจ๋ ํ์ ์ฝ์ ํ๊ณ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ๋ฅผ ํ๋ค. ๋ง์ฝ ์ธ์ ๋ ธ๋ ์ค ๋ฐฉ..
[Swift] DFS ์์ ์ ํ์ด (์ฅ์ ๋ฌผ ์ธ์ ํ๋ก๊ทธ๋จ) Softeer ์์ ์ถ์ฒ: Softeer “์ฅ์ ๋ฌผ ์ธ์ ํ๋ก๊ทธ๋จ” (๋๋ ์ด์ฝํ “์๋ฃ์ ์ผ๋ ค๋จน๊ธฐ” - ๋ ์ฌ์) ๋๋ค Swift๋ ์ง์ํ์ง ์์ต๋๋ค..ใ DFS ๊น์ด ์ฐ์ ํ์ = ์์ ๋ ธ๋๋ถํฐ ํ์ํ๋ ๋ฐฉ์. ๋ฉ๋ฆฌ ์๋ ๋ ธ๋๋ถํฐ ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ. (๊ทธ๋ํ์์ ๊น์ ๋ถ๋ถ์ ์ฐ์ ์ ์ผ๋ก ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ) ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ : ํ ๋ฒ ์ฒ๋ฆฌํ ๋ ธ๋๋ฅผ ๋ค์ ์ฒ๋ฆฌํ์ง ์๋๋ก ์ฒดํฌํ๋ ๊ฒ. ์คํ ์๋ฃ๊ตฌ์กฐ์ ๊ธฐ์ดํ๋ค. ์ฌ๊ท๋ฅผ ์ด์ฉํ๋ฉด ๊ฐ๊ฒฐํ๊ฒ ๊ตฌํํ ์ ์๋ค. O(n) ์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค. (n = ๋ฐ์ดํฐ์ ๊ฐ์) โ๏ธDFS๋ ์คํ์ ์ด์ฉํ๋ฉฐ ์ค์ ๊ตฌํ์์๋ ์ฌ๊ท๋ก ํ ์ ์๋ค. ๋ฌธ์ ์์จ์ฃผํํ SW ์์ง๋์ด์ธ ๋น์ ์๊ฒ ์ฅ์ ๋ฌผ๊ณผ ๋๋ก๋ฅผ ์ธ์ํ ์ ์๋ ํ๋ก๊ทธ..