๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ381 [์๊ณ ๋ฆฌ์ฆ] ์ด์ง ํ์(Binary Search) ์์ฐจ ํ์(Sequential Search) ๋ฆฌ์คํธ ์์ ์๋ ํน์ ํ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด ์์์๋ถํฐ ํ๋์ฉ ์ฐจ๋ก๋๋ก ํ์ธํ๋ ๋ฐฉ๋ฒ ์ ๋ ฌ ์ฌ๋ถ์ ์๊ด์์ด ๊ฐ์ฅ ์์์๋ถํฐ ํ๋์ฉ ํ์ธ ์ ๋ ฌ๋์ง ์์ ๋ฆฌ์คํธ์์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์์ผ ํ ๋ ์ฌ์ฉ ๋ฆฌ์คํธ ๋ด์ ๋ฐ์ดํฐ๊ฐ ์๋ฌด๋ฆฌ ๋ง์๋ ์๊ฐ๋ง ์ถฉ๋ถํ๋ค๋ฉด ํญ์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ์ ์์ ์๊ฐ ๋ณต์ก๋ → O(N) ์ด์ง ํ์(Binary Search) ํ์ ๋ฒ์๋ฅผ ์ ๋ฐ์ฉ ์ขํ๊ฐ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ํ์ ์ฐพ์ผ๋ ค๋ ๋ฐ์ดํฐ์ ์ค๊ฐ์ ์์น์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ๋น๊ตํ์ฌ ์ํ๋ ๋ฐ์ดํฐ ํ์ ์์น๋ฅผ ๋ํ๋ด๋ ์์์ , ๋์ , ์ค๊ฐ์ 3๊ฐ์ ๋ณ์ ์ฌ์ฉ ๋ฐฐ์ด ๋ด๋ถ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์์ด์ผ๋ง ์ฌ์ฉ ๊ฐ๋ฅ ์๊ฐ ๋ณต์ก๋ → O(logN) ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ ๋๋ณด๊ธฐ ํธ๋ฆฌ(Tree) ๊ตฌ์กฐ ๋ ธ๋์ ๋ ธ๋์ ์ฐ.. 2022. 3. 25. [UIKit] UIApplication UIApplication iOS์์ ์คํ๋๋ ์ฑ์ ์ ์ด์ ์กฐ์ ์ ์ค์ฌ์ ์ ์ธ @MainActor class UIApplication : UIResponder ๋ชจ๋ iOS ์ฑ์๋ ๋จ ํ๋์ UIApplication ์ธ์คํด์ค๊ฐ ์กด์ฌํฉ๋๋ค. ์ฑ์ด ์์๋๋ฉด ์์คํ ์ UIApplicationMain(_: _: _: _:) ํจ์๋ฅผ ํธ์ถํฉ๋๋ค. ์ด ํจ์๋ UIApplication ๊ฐ์ฒด์ ์ฑ๊ธํด์ ์์ฑํ๋ ์์ ์ ํฉ๋๋ค. ๊ทธ๋ค์ shared ํด๋์ค ๋ฉ์๋๋ฅผ ํธ์ถํด ์ฑ๊ธํด ๊ฐ์ฒด์ ์ ๊ทผํ ์ ์์ต๋๋ค. application ๊ฐ์ฒด์ ์ฃผ์ ์ญํ ์ ์ฌ์ฉ์ ์ด๋ฒคํธ๋ก๋ถํฐ์ ์ด๊ธฐ ๋ผ์ฐํ ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋๋ค. application ๊ฐ์ฒด๋ UIControl ํด๋์ค์ ์ธ์คํด์ค์ธ control๊ฐ์ฒด๊ฐ ์ ๋ฌํ action ๋ฉ์์ง๋ฅผ target.. 2022. 3. 24. [์๊ณ ๋ฆฌ์ฆ] ์ ๋ ฌ(Sorting) ์ ๋ ฌ(Sorting) ๋ฐ์ดํฐ๋ฅผ ํน์ ํ ๊ธฐ์ค์ ๋ฐ๋ผ ์์๋๋ก ๋์ดํ๋ ๊ฒ์ ๋งํ๋ค. ์ ํ ์ ๋ ฌ(Selection Sort) ์ ๋ ฌ๋์ง ์์ ๋ฐ์ดํฐ ์ค์์ ๊ฐ์ฅ ์์ ๊ฒ์ ์ ํํด ๋งจ ์์ผ๋ก ๋ณด๋ธ๋ค. ๋ค๋ฅธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ๋ค์ ๋นํด ๋นํจ์จ์ ์ด๋ค. → ์๊ฐ ๋ณต์ก๋: O(N^2) ์ฝ์ ์ ๋ ฌ(Insertion Sort) ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ํ์ธํ๋ฉฐ, ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ์์น์ ์ฝ์ ํ๋ค. ๋ฐ์ดํฐ๊ฐ ๊ฑฐ์ ์ ๋ ฌ๋์ด ์์ ๋ ํจ์จ์ ์ด๋ค. → ์๊ฐ ๋ณต์ก๋: O(N^2) ํต ์ ๋ ฌ(Quick Sort) ๊ธฐ์ค ๋ฐ์ดํฐ๋ฅผ ์ค์ ํ๊ณ , ๊ทธ ๊ธฐ์ค๋ณด๋ค ํฐ ๋ฐ์ดํฐ์ ์์ ๋ฐ์ดํฐ์ ์์น๋ฅผ ๋ฐ๊พผ๋ค. ํผ๋ฒ(Pivot): ๊ธฐ์ค ๋ฐ์ดํฐ → ํ๊ท ์๊ฐ ๋ณต์ก๋: O(NlogN) ๊ณ์ ์ ๋ ฌ(Count Sort) ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๋ถํฐ ๊ฐ์ฅ ํฐ ๋ฐ์ดํฐ๊น์ง ๋ชจ๋ ๋ด๊ธธ .. 2022. 3. 24. [์๊ณ ๋ฆฌ์ฆ] 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. ์ด์ 1 ยทยทยท 59 60 61 62 63 64 ๋ค์ ๋ฐ์ํ