๋ฐ์ํ ๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ388 [SwiftUI] SwiftUI๋? SwiftUI WWDC2019์์ ๋ฐํํ ํ๋ ์์ํฌ ๋ชจ๋ ์ ํ ํ๋ซํผ(iOS, iPadOS, macOS, watchOS, tvOS)์์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ๋ฐ ํจ๋ฌ๋ค์ ์ต์ํ์ ์ฝ๋ ๋ง์ผ๋ก Swift์ ์ฑ๋ฅ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ ํ ํ๋ซํผ์์ ์ฌ์ฉํ ์ ์๋ ์ฑ์ ๋ง๋ค ์ ์๋๋ก ๋์์ค SwiftUI 4๊ฐ์ง ์์น ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์ ๊ฐ ๊ณผ์ ์ ์ด๋ป๊ฒ ์ํํด์ผ ํ ์ง๊ฐ ์๋ ๋ฌด์์ ํ๊ณ ์ถ์์ง๋ฅผ ์ ์ํ๋ ๋ฐฉ์ ๊ฐ๋ฐ์๊ฐ ์ํ๋ UI๋ฅผ ํ๋ ์์ํฌ์ ์ค๋ช ํ๋ฉด ์ธ๋ถ ๊ตฌํ์ ํ๋ ์์ํฌ๊ฐ ๋์ ์ฒ๋ฆฌ ์๋ํ ๋ง์ ๊ธฐ๋ฅ์ ์๋์ผ๋ก ์ํ๋ ์ ์๋๋ก ์ ๊ณต autolayout ์ฝ๋๋ค์ด ์ ๊ฑฐ, ํ๋ฉด ์ ํ๊ณผ ๊ด๋ จ๋ ๊ธฐ๋ฅ๋ค๋ ์๋ํ๋ก ๋จ์ํ๊ฒ ๊ตฌํ ๊ฐ๋ฅ ์กฐํฉ ํฐ view๋ฅผ ์์ view๋ก ๋๋๊ฑฐ๋, view.. 2023. 3. 15. [์๋ฃ๊ตฌ์กฐ] ํด์ ํ ์ด๋ธ(Hash Table) ํด์ ํ ์ด๋ธ(Hash Table) ํด์ ํ ์ด๋ธ์ (Key, Value)์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ ํด์ํจ์(Hash Function)๋ฅผ ์ฌ์ฉํ์ฌ ๋ณํํ ๊ฐ์ index๋ก ์ผ์ ํด์ ํจ์(Hash Function)๋ฅผ ์ฌ์ฉํด Key ๊ฐ์ ์์ธ(index)์ผ๋ก ๋ณํํ๋ ๊ณผ์ ์ ํด์ฑ(Hashing)์ด๋ผ๊ณ ํจ ๋ํ์ ์ธ ์๋ก ํ์ด์ฌ์ dictionary, ๋ฃจ๋น์ Hash, ์๋ฐ์ Map ๋ฑ์ด ์์ ํด์ ํ ์ด๋ธ์ ํน์ง ๊ธฐ๋ณธ ์ฐ์ฐ์ผ๋ก๋ search, insert, delete๊ฐ ์์ ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์์ key๋ฅผ ํตํด์ value๋ฅผ ์ป์ ์ ์์ => ์ด์งํ์ํธ๋ฆฌ๋ ๋ฐฐ์ด์ ๋นํด ์๋๊ฐ ๋น ๋ฆ ์ปค๋ค๋ ๋ฐ์ดํฐ๋ฅผ ํด์ํด์ ์งง์ ๊ธธ์ด๋ก ์ถ์ฝํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๋น๊ตํ ๋ ํจ์จ์ value๋ ์ค๋ณต ๊ฐ๋ฅํ.. 2023. 3. 15. [Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ช ์์ ์ ๋น (1) ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์ ๋ช ์์ ์ ๋น (1) ๋ฌธ์ ์ค๋ช "๋ช ์์ ์ ๋น"์ด๋ผ๋ TV ํ๋ก๊ทธ๋จ์์๋ ๋งค์ผ 1๋ช ์ ๊ฐ์๊ฐ ๋ ธ๋๋ฅผ ๋ถ๋ฅด๊ณ , ์์ฒญ์๋ค์ ๋ฌธ์ ํฌํ์๋ก ๊ฐ์์๊ฒ ์ ์๋ฅผ ๋ถ์ฌํฉ๋๋ค. ๋งค์ผ ์ถ์ฐํ ๊ฐ์์ ์ ์๊ฐ ์ง๊ธ๊น์ง ์ถ์ฐ ๊ฐ์๋ค์ ์ ์ ์ค ์์ k๋ฒ์งธ ์ด๋ด์ด๋ฉด ํด๋น ๊ฐ์์ ์ ์๋ฅผ ๋ช ์์ ์ ๋น์ด๋ผ๋ ๋ชฉ๋ก์ ์ฌ๋ ค ๊ธฐ๋ ํฉ๋๋ค. ์ฆ ํ๋ก๊ทธ๋จ ์์ ์ดํ ์ด๊ธฐ์ k์ผ๊น์ง๋ ๋ชจ๋ ์ถ์ฐ ๊ฐ์์ ์ ์๊ฐ ๋ช ์์ ์ ๋น์ ์ค๋ฅด๊ฒ ๋ฉ๋๋ค. k์ผ ๋ค์๋ถํฐ๋ ์ถ์ฐ ๊ฐ์์ ์ ์๊ฐ ๊ธฐ์กด์ ๋ช ์์ ์ ๋น ๋ชฉ๋ก์ k๋ฒ์งธ ์์์ ๊ฐ์ ์ ์๋ณด๋ค ๋ ๋์ผ๋ฉด, ์ถ์ฐ ๊ฐ์์ ์ ์๊ฐ ๋ช ์์ ์ ๋น์ ์ค๋ฅด๊ฒ ๋๊ณ ๊ธฐ์กด์ k๋ฒ์งธ ์์์ ์ ์๋ ๋ช ์์ ์ ๋น์์ ๋ด๋ ค์ค๊ฒ ๋ฉ๋๋ค. ์ด ํ๋ก๊ทธ๋จ์์๋ ๋งค์ผ "๋ช ์์ ์ ๋น"์ ์ตํ์ ์ ์๋ฅผ ๋ฐํํฉ๋๋ค. ์๋ฅผ.. 2023. 3. 15. [Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๊ธฐ์ฌ๋จ์์ ๋ฌด๊ธฐ ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์ ๊ธฐ์ฌ๋จ์์ ๋ฌด๊ธฐ ๋ฌธ์ ์ค๋ช ์ซ์๋๋ผ ๊ธฐ์ฌ๋จ์ ๊ฐ ๊ธฐ์ฌ์๊ฒ๋ 1๋ฒ๋ถํฐ number๊น์ง ๋ฒํธ๊ฐ ์ง์ ๋์ด ์์ต๋๋ค. ๊ธฐ์ฌ๋ค์ ๋ฌด๊ธฐ์ ์์ ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งคํ๋ ค๊ณ ํฉ๋๋ค. ๊ฐ ๊ธฐ์ฌ๋ ์์ ์ ๊ธฐ์ฌ ๋ฒํธ์ ์ฝ์ ๊ฐ์์ ํด๋นํ๋ ๊ณต๊ฒฉ๋ ฅ์ ๊ฐ์ง ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งคํ๋ ค ํฉ๋๋ค. ๋จ, ์ด์๋๋ผ์์ ํ์ฝ์ ์ํด ๊ณต๊ฒฉ๋ ฅ์ ์ ํ์์น๋ฅผ ์ ํ๊ณ , ์ ํ์์น๋ณด๋ค ํฐ ๊ณต๊ฒฉ๋ ฅ์ ๊ฐ์ง ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งคํด์ผ ํ๋ ๊ธฐ์ฌ๋ ํ์ฝ๊ธฐ๊ด์์ ์ ํ ๊ณต๊ฒฉ๋ ฅ์ ๊ฐ์ง๋ ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งคํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 15๋ฒ์ผ๋ก ์ง์ ๋ ๊ธฐ์ฌ๋จ์์ 15์ ์ฝ์๊ฐ 1, 3, 5, 15๋ก 4๊ฐ ์ด๋ฏ๋ก, ๊ณต๊ฒฉ๋ ฅ์ด 4์ธ ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งคํฉ๋๋ค. ๋ง์ฝ, ์ด์๋๋ผ์์ ํ์ฝ์ผ๋ก ์ ํด์ง ๊ณต๊ฒฉ๋ ฅ์ ์ ํ์์น๊ฐ 3์ด๊ณ ์ ํ์์น๋ฅผ ์ด๊ณผํ ๊ธฐ์ฌ๊ฐ ์ฌ์ฉํ ๋ฌด๊ธฐ์ ๊ณต๊ฒฉ๋ ฅ์ด 2๋ผ๋ฉด, 15๋ฒ์ผ๋ก ์ง.. 2023. 3. 15. [์๋ฃ๊ตฌ์กฐ] ์ฐ์ ์์ ํ(Priority Queue) ์ฐ์ ์์ ํ(Priority) ์์์ ์๊ด์์ด ์ฐ์ ์์๊ฐ ๋์ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ๋๊ฐ๋ ํํ์ ์๋ฃ๊ตฌ์กฐ ์ฐ์ ์์ ๋๊ธฐ์ด์ด๋ผ๊ณ ๋ ํจ ๋๊ธฐ์ด์์ ์ฐ์ ์์๊ฐ ๋์ ์์๊ฐ ์ฐ์ ์์๊ฐ ๋ฎ์ ์์๋ณด๋ค ๋จผ์ ์ ๊ณต๋๋ ์๋ฃ๊ตฌ์กฐ ์ผ๋ฐ์ ์ผ๋ก ํ(Heap)์ ์ฌ์ฉํ์ฌ ๊ตฌํ ๋ชจ๋ ํญ๋ชฉ์๋ ์ฐ์ ์์๊ฐ ์์ ์ฐ์ ์์๊ฐ ๋์ ์์๋ ์ฐ์ ์์๊ฐ ๋ฎ์ ์์๋ณด๋ค ๋จผ์ ํ์์ ์ ์ธ ๋ ์์์ ์ฐ์ ์์๊ฐ ๊ฐ์ ๊ฒฝ์ฐ ํ์ ์์์ ๋ฐ๋ผ ์ ๊ณต ์ฐ์ ์์ ํ ๊ตฌํ ๋ฐฉ๋ฒ ๋ฐฐ์ด, ์ฐ๊ฒฐ๋ฆฌ์คํธ, ํ์ ์ด์ฉํ์ฌ ๊ตฌํ ๊ฐ๋ฅ ๊ตฌํ ๋ฐฉ๋ฒ ์ฝ์ (enqueue) ์ญ์ (denqueue) ๋ฐฐ์ด (unsorted array) O(1) O(N) ์ฐ๊ฒฐ ๋ฆฌ์คํธ (unsorted linked list) O(1) O(N) ์ ๋ ฌ๋ ๋ฐฐ์ด (sorted array) O(N) O(1) .. 2023. 3. 13. [์๋ฃ๊ตฌ์กฐ] ํ(Heap) ํ(Heap) ์์ ์ด์งํธ๋ฆฌ ๊ธฐ๋ฐ์ ์๋ฃ๊ตฌ์กฐ ์ฌ๋ฌ ๊ฐ์ ๊ฐ๋ค ์ค์์ ์ต๋๊ฐ์ด๋ ์ต์๊ฐ์ ๋น ๋ฅด๊ฒ ์ฐพ์๋ด๋๋ก ๋ง๋ค์ด์ง ์๋ฃ๊ตฌ์กฐ ์ฐ์ ์์ ํ๋ฅผ ์ํด ๋ง๋ค์ด์ง ์๋ฃ๊ตฌ์กฐ ๋ฐ์ ๋ ฌ์ํ(๋์จํ ์ ๋ ฌ์ํ) ์ ์ง ํฐ ๊ฐ์ด ์์์ ์๊ณ ์์ ๊ฐ์ด ํ์์ ์๋ ์ ๋ ์ค๋ณต๋ ๊ฐ ํ์ฉ ํ์ ์ข ๋ฅ ์ต๋ ํ(max heap) ๋ถ๋ชจ ๋ ธ๋์ ํค ๊ฐ์ด ์์๋ ธ๋์ ํค ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ์์ ์ด์งํธ๋ฆฌ ์ต์ ํ(min heap) ๋ถ๋ชจ ๋ ธ๋์ ํค ๊ฐ์ด ์์ ๋ ธ๋์ ํค ๊ฐ ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ด์งํธ๋ฆฌ ํ์ ํ์ฉ ์๋ฎฌ๋ ์ด์ ์์คํ ๋คํธ์ํฌ ํธ๋ํฝ ์ ์ด ์ด์ ์ฒด์ ์์์ ์์ ์ค์ผ์ฅด๋ง ์์น ํด์์ ์ธ ๊ณ์ฐ ํ์ ๊ตฌํ ํ์ ์ ์ฅํ๋ ํ์ค์ ์ธ ์๋ฃ๊ตฌ์กฐ๋ ๋ฐฐ์ด ๊ตฌํ์ ์ฝ๊ฒ ํ๊ธฐ ์ํด ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค์ธ 0์ ์ฌ์ฉ๋์ง ์์ ํน์ ์์น์ ๋ ธ๋ ๋ฒํธ๋ ์๋ก์ด.. 2023. 3. 13. ์ด์ 1 ยทยทยท 23 24 25 26 27 28 29 ยทยทยท 65 ๋ค์ ๋ฐ์ํ