์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- URLSession
- ํ๋ก๊ทธ๋๋จธ์ค
- algoritm
- ์ฐ์ํ์ค๋ถ๋ถ์์ด์ํฉ
- ๋์ ๊ณํ๋ฒ
- duno
- Swift
- ๊ณ ๋์ kit
- DynamicProgramming
- Til
- APPJAM
- GroupBy
- 0์ด๋์ด์๋๊ธธ
- discardableResult
- SwiftUI
- GCD
- dfs
- HAVIT
- algorithm
- IOS
- SwiftUI ํํ ๋ฆฌ์ผ
- SOPT
- SwiftUI Tutorials
- ์ด์งํ์
- SQL
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- binarySearch
- concurrency
- ๊ธฐ์ด๋ฌธ๋ฒ
- BFS
- Today
- Total
๋ชฉ๋กAlgorithm (19)
suvera-dev ๐ฅฆ
๐ ์ ๋ ฌ ? ๋ฐ์ดํฐ๋ฅผ ํน์ ํ ๊ธฐ์ค์ ๋ฐ๋ผ์ ์์๋๋ก ๋์ดํ๋ ๊ฒ ! - ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๋ฉด ์ด์งํ์์ด ๊ฐ๋ฅํด์ง ! ์ด์งํ์์ ์ ์ฒ๋ฆฌ ๊ณผ์ - ์ ํ ์ ๋ ฌ, ์ฝ์ ์ ๋ ฌ, ํต ์ ๋ ฌ, ๊ณ์ ์ ๋ ฌ ๋ฑ์ด ์๋ค * ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์์ ๋ฅผ ์ค๋ช , ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ์ํํ ๋ค ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ง๊ธฐํ์ฌ ๋ง๋ค์ ์๋ฐ 1. ์ ํ์ ๋ ฌ - ๋ฐ์ดํฐ๊ฐ ๋ฌด์์๋ก ์ฌ๋ฌ๊ฐ ์๋ค๋ฉด, ์ด ์ค์์ ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ํํด ๋งจ ์์ ์๋ ๋ฐ์ดํฐ์ ๋ฐ๊พธ๊ณ ๊ทธ ๋ค์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ํํด ์์์ ๋ ๋ฒ์จฐ ๋ฐ์ดํฐ์ ๋ฐ๊พธ๋ ๊ณผ์ ์ ๋ฐ๋ณต ! => ๋งค๋ฒ ๊ฐ์ฅ ์์ ๊ฒ์ ์ ํ ํ๋ค ! - ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๋ฅผ ์์ผ๋ก ๋ณด๋ด๋ ๊ณผ์ ์ N-1๋ฒ ๋ฐ๋ณตํ๋ฉด ์ ๋ ฌ์ด ์๋ฃ ๋๋ค ! array = [7,5,9,0,3,1,6,2,4,8] ..
๐บ 1๋ฒ ์๋ฃ์ ์ผ๋ ค๋จน๊ธฐ N x M ํฌ๊ธฐ์ ์ผ์ ํ์ด ์๋ค. ๊ตฌ๋ฉ์ด ๋ซ๋ ค ์๋ ๋ถ๋ถ์ 0, ์นธ๋ง์ด๊ฐ ์กด์ฌํ๋ ๋ถ๋ถ์ 1๋ก ํ์๋๋ค. ๊ตฌ๋ฉ์ด ๋ซ๋ ค์๋ ๋ถ๋ถ๋ผ๋ฆฌ ์,ํ,์ข,์ฐ๋ก ๋ถ์ด ์๋ ๊ฒฝ์ฐ ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค. ์ด๋ ์ผ์ ํ์ ๋ชจ์์ด ์ฃผ์ด์ก์ ๋ ์์ฑ๋๋ ์ด ์์ด์คํฌ๋ฆผ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑ ==> DFS๋ก ํด๊ฒฐ ! ์ผ์์ ์ผ๋ฆด ์ ์๋ ๊ณต๊ฐ์ด ์ํ์ข์ฐ๋ก ์ฐ๊ฒฐ๋์ด์๋ค๊ณ ํํํ ์ ์์ผ๋ฏ๋ก ๊ทธ๋ํ ํํ๋ก ๋ชจ๋ธ๋ง ๊ฐ๋ฅ ! 1) ํน์ ํ ์ง์ ์ ์ฃผ๋ณ ์ํ์ข์ฐ๋ฅผ ์ดํด๋ณธ ๋ค์ ์ฃผ๋ณ ์ง์ ์ค์์ ๊ฐ์ด 0 ์ด๋ฉด์ ์์ง ๋ฐฉ๋ฌธํ์ง ์์ ์ง์ ์ด ์๋ค๋ฉด ํด๋น ์ง์ ๋ฐฉ๋ฌธ 2) ๋ฐฉ๋ฌธํ ์ง์ ์์ ๋ค์ ์ํ์ข์ฐ๋ฅผ ์ดํด๋ณด๋ฉด์ ๋ฐฉ๋ฌธ์ ๋ค์ ์งํํ๋ฉฐ, ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ง์ ๋ฐฉ๋ฌธ ๊ฐ๋ฅ 3) 1-2๋ฒ์ ๊ณผ์ ์ ๋ชจ๋ ๋ ธ๋..
๐ DFS - ๊น์ด ์ฐ์ ํ์์ด๋ผ๊ณ ๋ ๋ถ๋ฅด๋ฉฐ, ๊ทธ๋ํ์์ ๊น์ ๋ถ๋ถ์ ์ฐ์ ์ ์ผ๋ก ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ - ๊ทธ๋ํ์ ๊ธฐ๋ณธ๊ตฌ์กฐ๋ฅผ ์์์ผํจ โฌ๏ธ ๋๋ณด๊ธฐ ๐ ๊ทธ๋ํ๋ ๋ ธ๋์ ๊ฐ์ ์ผ๋ก ํํ๋๋ฉฐ ์ด๋ ๋ ธ๋๋ฅผ ์ ์ ์ด๋ผ๊ณ ๋ ๋งํ๋ค. ๊ทธ๋ํ ํ์์ด๋ ํ๋์ ๋ ธ๋๋ฅผ ์์์ผ๋ก ๋ค์์ ๋ ธ๋๋ฅผ ๋ฐฉ๋ฌธํ๋ ๊ฒ์ ๋งํ๋ค. ๋ํ ๋ ๋ ธ๋๊ฐ ๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๋ค๋ฉด ๋ ๋ ธ๋๋ ์ธ์ ํ๋ค ๋ผ๊ณ ํํํ๋ค - ํ๋ก๊ทธ๋๋ฐ์์ ๊ทธ๋ํ๋ ํฌ๊ฒ 2๊ฐ์ง ๋ฐฉ์์ผ๋ก ํํํ ์ ์๋๋ฐ ์ฝ๋ฉ ํ ์คํธ์์๋ ์ด ๋ ๋ฐฉ์ ๋ชจ๋ ํ์ํ๋ ๋ ๊ฐ๋ ์ ๋ํด ๋ฐ๋ฅด๊ฒ ์๊ณ ์๋๋ก ํ์ ! 1. ์ธ์ ํ๋ ฌ : 2์ฐจ์ ๋ฐฐ์ด๋ก ๊ทธ๋ํ์ ์ฐ๊ฒฐ ๊ด๊ณ๋ฅผ ํํํ๋ ๋ฐฉ์ - 2์ฐจ์ ๋ฐฐ์ด์ ๊ฐ ๋ ธ๋๊ฐ ์ฐ๊ฒฐ๋ ํํ๋ฅผ ๊ธฐ๋กํ๋ ๋ฐฉ์ - ์ฐ๊ฒฐ๋ ๊ทธ๋ํ๋ฅผ ์ธ์ ํ๋ ฌ๋ก ํํํ ๋ ํ์ด์ฌ์์๋ 2์ฐจ์ ๋ฆฌ..
DFS์ BFS๋ฅผ ๋ค๋ฃจ๊ธฐ ์ .. ์ ๋ฉ๋ฆฌ ์๊ณ ์์๋ ์๋ฃ๊ตฌ์กฐ ๊ธฐ์ด ํํธ๊ฐ ์๊ธธ๋ ์ ๋ฆฌํด๋ด ๋๋ค ! โจ ํ์(Search)์ด๋ ? ๋ง์ ์์ ๋ฐ์ดํฐ ์ค์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๊ณผ์ - ํ๋ก๊ทธ๋๋ฐ์์๋ ๊ทธ๋ํ, ํธ๋ฆฌ ๋ฑ์ ์๋ฃ๊ตฌ์กฐ ์์์ ํ์์ ํ๋ ๋ฌธ์ ๋ฅผ ์์ฃผ ๋ค๋ฃจ๋๋ฐ ์ด ๋ ์๊ณ ๋ฆฌ์ฆ์ ์๋ฆฌ๋ฅผ ์ ๋๋ก ์ดํดํด์ผ ์ฝ๋ฉ ํ ์คํธ์ ํ์ ๋ฌธ์ ์ ํ์ ํ ์ ์์ต๋๋ค ! ๊ทธ๋ฐ๋ฐ,, DFS์ BFS ๋ฅผ ์ ๋๋ก ์ดํดํ๋ ค๋ฉด ๊ธฐ๋ณธ ์๋ฃ๊ตฌ์กฐ์ธ ์คํ๊ณผ ํ์ ๋ํ ์ดํด๊ฐ ์ ์ ๋์ด์ผ ํ๋ฌด๋ก ์ด์ง ์ ๋ฆฌํ๊ณ ๊ฐ๋๋ค ~ ๐ฟ ์๋ฃ๊ตฌ์กฐ๋? ๋ฐ์ดํฐ๋ฅผ ํํํ๊ณ ๊ด๋ฆฌํ๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ตฌ์กฐ ! - ๊ธฐ์ด ๊ฐ๋ ์ธ ์คํ๊ณผ ํ์์ Push, Pop ๊ณผ ๊ฐ์ ํต์ฌ์ ์ธ ํจ์ ์ด ์ธ์๋ ์ค๋ฒํ๋ก, ์ธ๋ํ๋ก๋ฅผ ๊ณ ๋ฏผํด์ผํ๋ค. - ์ค๋ฒํ๋ก๋ ํน์ ํ ์๋ฃ๊ตฌ์กฐ..