์ ์ฒด ๊ธ384 [์๊ณ ๋ฆฌ์ฆ] DFS/ BFS ํ์(Search): ๋ง์ ์์ ๋ฐ์ดํฐ ์ค์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๊ณผ์ ๊ทธ๋ํ, ํธ๋ฆฌ ๋ฑ์ ์๋ฃ๊ตฌ์กฐ ์์์ ํ์ํ๋ ๋ฌธ์ ๋ฅผ ์ฃผ๋ก ๋ค๋ฃฌ๋ค. ๋ํ์ ์ธ ํ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก DFS์ BFS๊ฐ ์๋ค. ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ดํดํ๊ธฐ ์ํด ํ์ํ ์๋ฃ๊ตฌ์กฐ ๋๋ณด๊ธฐ ์๋ฃ๊ตฌ์กฐ(Data Struture): ๋ฐ์ดํฐ๋ฅผ ํํํ๊ณ ๊ด๋ฆฌํ๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ตฌ์กฐ ์คํ๊ณผ ํ๋ ์๋ฃ๊ตฌ์กฐ์ ๊ธฐ์ด ๊ฐ๋ ์ผ๋ก ๋ค์ ๋ ํต์ฌ ํจ์๋ก ๊ตฌ์ฑ๋๋ค. ์ฝ์ (Push): ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ญ์ (Pop): ๋ฐ์ดํฐ๋ฅผ ์ญ์ ์ค๋ฒํ๋ก์ฐ(Overflow): ํน์ ์๋ฃ๊ตฌ์กฐ๊ฐ ์์ฉํ ์ ์๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ๋์ ์ํ์์ ์ฝ์ ์ฐ์ฐ์ ์ํํ ๋ ๋ฐ์ ์ธ๋ํ๋ก์ฐ(Underflow): ํน์ ์๋ฃ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์์ง ์์ ์ํ์์ ์ญ์ ์ฐ์ฐ ์ํ ์ ๋ฐ์ ์คํ(Stack): ๋ฐ์ดํฐ.. 2022. 3. 23. [UIKit] ์ฑ์ ๋ผ์ดํ ์ฌ์ดํด ์ฑ์ ํ์ฌ ์ํ์ ๋ฐ๋ผ์ ํ ์ ์๋ ์์ ๊ณผ ํ ์ ์๋ ์์ ์ด ๊ฒฐ์ ๋ฉ๋๋ค. ๊ฐ๋ฐ์๋ ์ฑ์ ์ํ๊ฐ ๋ณํํ ๋๋ง๋ค ์ฑ์ ๋์์ ์ ์ ํ๊ฒ ์กฐ์ ํด์ฃผ์ด์ผ ํด์ผ ํฉ๋๋ค. UIKit์ delegate ๊ฐ์ฒด์ ๋ฉ์๋๋ฅผ ์ ์ ํ ํธ์ถํ์ฌ ์ฑ์ ์ํ๊ฐ ๋ณํํ์์ ์๋ ค์ค๋๋ค. Scene ๊ธฐ๋ฐ ๋ผ์ดํ ์ฌ์ดํด ์ด๋ฒคํธ์ ๋์ Scene์ ์ง์ํ๋ ์ฑ์์ UIKit์ ๋ผ์ดํ ์ฌ์ดํด ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋๋ง๋ค ๊ฐ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ์ ๋ฌํฉ๋๋ค. Scene: ๊ธฐ๊ธฐ์์ ์คํ๋๋ ์ฑ UI์ ์ธ์คํด์ค ํ๋ ์ฌ์ฉ์๋ ๊ฐ ์ฑ์์ ์ฌ๋ฌ ๊ฐ์ scene์ ์์ฑํ ์ ์์ผ๋ฉฐ, ๊ฐ๊ฐ์ scene์ ๋ ๋ฆฝ์ ์ผ๋ก ์จ๊ธฐ๊ฑฐ๋ ๋ณด์ด๊ฒ ํ ์ ์์ต๋๋ค. ๊ฐ scene์ ๊ณ ์ ์ ๋ผ์ดํ ์ฌ์ดํด์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์๋ก ๋ค๋ฅธ ์คํ ์ํ์ ์์ ์ ์์ต๋๋ค. Scene์ ๊ธฐ๋ณธ .. 2022. 3. 22. [์๊ณ ๋ฆฌ์ฆ] ๊ตฌํ(Implementation) ๊ตฌํ(Implementation)์ด๋ ๋จธ๋ฆฟ์์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ค์ฝ๋๋ก ๋ฐ๊พธ๋ ๊ณผ์ ์ด๋ค. ๊ตฌํ ๋ฌธ์ ์ ํ์ ๋ชจ๋ ๋ฒ์์ ์ฝ๋ฉ ํ ์คํธ ๋ฌธ์ ์ ํ์ ํฌํจํ๋ ๊ฐ๋ ์ด๋ค. ๊ตฌํ ์ ํ์ ๋ฌธ์ ๋ ํ์ด๋ฅผ ๋ ์ฌ๋ฆฌ๋ ๊ฒ์ ์ฝ์ง๋ง ์์ค์ฝ๋๋ก ์ฎ๊ธฐ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ์ด๋ค. ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋จํ๋ฐ ์ฝ๋๊ฐ ์ง๋์น๊ฒ ๊ธธ์ด์ง๋ ๋ฌธ์ ํน์ ์์์ ์๋ฆฌ๊น์ง ์ถ๋ ฅํด์ผ ํ๋ ๋ฌธ์ ๋ฌธ์์ด์ด ์ฃผ์ด์ก์ ๋ ํ์ฑ ํด์ผ ํ๋ ๋ฌธ์ ๊ตฌํ ์ ๊ณ ๋ คํด์ผ ํ ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ ์ฌํญ ๋ณ์์ ํํ ๋ฒ์ ๋ฆฌ์คํธ(๋ฐฐ์ด) ํฌ๊ธฐ ์์ ํ์: ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฃผ์ ์์ด ๋ค ๊ณ์ฐํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ ์๋ฎฌ๋ ์ด์ : ๋ฌธ์ ์์ ์ ์ํ ์๊ณ ๋ฆฌ์ฆ์ ํ ๋จ๊ณ์ฉ ์ฐจ๋ก๋๋ก ์ง์ ์ํ ๊ตฌํ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์ํ์ข์ฐ ์ฌํ๊ฐ A๋ N x N ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ ๊ณต๊ฐ ์์ ์ ์๋ค. ์ด ๊ณต๊ฐ์ 1 x 1 ํฌ๊ธฐ์.. 2022. 3. 22. UIKit UIKit ํ๋ ์์ํฌ๋ iOS ๋๋ tvOS ์ฑ์ ํ์ํ ์ธํ๋ผ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ธฐ ์ํ window์ view architecture์ ์ ๊ณตํฉ๋๋ค. Multi-Touch ๋ฐ ๊ธฐํ ์ ํ์ ์ ๋ ฅ์ ์ฑ์ ์ ๊ณตํ๊ธฐ ์ํ ์ด๋ฒคํธ ์ฒ๋ฆฌ ์ธํ๋ผ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์, ์์คํ ๋ฐ ์ฑ ๊ฐ์ ์ํธ ์์ฉ์ ๊ด๋ฆฌํ๋๋ฐ ํ์ํ ๊ธฐ๋ณธ ์คํ ๋ฃจํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ ๋ฐ์, UIKit ํ๋ ์์ํฌ๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ๋ค์ ์ง์ํฉ๋๋ค. ์ ๋๋ฉ์ด์ ๋ฌธ์ ๊ทธ๋ฆฌ๊ธฐ printing ์ฌ์ฉ์ค์ธ ๊ธฐ๊ธฐ ์ ๋ณด ํ ์คํธ ๊ด๋ฆฌ ๋ฐ ํ์ ๊ฒ์ ์ ๊ทผ์ฑ ์ฑ ํ์ฅ ๋ฆฌ์์ค ๊ด๋ฆฌ ๋ณ ๋ค๋ฅธ ๋ช ์์ฌํญ์ด ์๋ค๋ฉด, UIKit์ ํฌํจ๋ ํด๋์ค๋ค์ ์ฑ์ main thread ํน์ main dispatch queue์์๋ง ์ฌ์ฉํด์ผ ํ๋ค. ์ด ์ ํ์ UIRespond.. 2022. 3. 21. [์๊ณ ๋ฆฌ์ฆ] ๊ทธ๋ฆฌ๋(Greedy) ๊ทธ๋ฆฌ๋(Greedy) ํ์๋ฒ ์๊ณ ๋ฆฌ์ฆ ํ์ฌ ์ํฉ์์ ๊ฐ์ฅ ์ข์ ๊ฒ์ ๊ณ ๋ฅด๋ ์๊ณ ๋ฆฌ์ฆ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ ์ ํ ์ ์ฐจ(Selection Procedure): ํ์ฌ ์ํ์์ ์ต์ ์ ํด๋ต ์ ํ ์ ์ ์ฑ ๊ฒ์ฌ(Feasibility Check): ์ ํ๋ ํด๊ฐ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋์ง ๊ฒ์ฌ ํด๋ต ๊ฒ์ฌ(Solution Check): ์๋์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋์ง ๊ฒ์ฌ, ํด๊ฒฐ๋์ง ์์๋ค๋ฉด ์ ํ ์ ์ฐจ๋ก ๋์์ ์์ ๊ณผ์ ๋ฐ๋ณต ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ์กฐ๊ฑด ํ์์ค๋ฌ์ด ์ ํ ์กฐ๊ฑด(Greedy Choice Property): ์์ ์ ํ์ด ์ดํ์ ์ ํ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค ์ต์ ๋ถ๋ถ ๊ตฌ์กฐ(Optimal Substructure): ๋ฌธ์ ์ ๋ํ ์ต์ข ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ถ๋ถ ๋ฌธ์ ์ ๋ํ ์ต์ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด๋ค. ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ .. 2022. 3. 8. [Swift] ์ด๊ฑฐํ (Enumerations) ์ด๊ฑฐํ ๊ด๋ จ๋ ๊ฐ์ผ๋ก case๊ฐ์ผ๋ก string, character, integer, floting ๊ฐ๋ค์ ์ฌ์ฉ ๊ณ์ฐ๋ ํ๋กํผํฐ(computed properties)๋ฅผ ์ ๊ณตํ๊ฑฐ๋ ์ด๊ธฐํ๋ฅผ ์ง์ ํ๊ฑฐ๋, ์ด๊ธฐ ์ ์ธ์ ํ์ฅํด ์ฌ์ฉ ๊ฐ๋ฅ ์ด๊ฑฐํ ๋ฌธ๋ฒ ์์ ๊ฐ(Raw Values)์ด ์๋ ์ด๊ฑฐํ enum CompassPoint { case north case south case east case west } //์ฝค๋ง(,)๋ฅผ ๊ตฌ๋ถํด ํ์ค๋ก ์ ์ enum CompassPoint { case north, south, east, west } var directionToHead = CompassPoint.west var directionToHead: CompassPoint = .west /*CompassPoint๋ก ํ๋ฒ .. 2022. 2. 8. ์ด์ 1 ยทยทยท 60 61 62 63 64 ๋ค์ ๋ฐ์ํ