์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- SwiftUI
- ๊ธฐ์ด๋ฌธ๋ฒ
- dfs
- algorithm
- GroupBy
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- HAVIT
- 0์ด๋์ด์๋๊ธธ
- SOPT
- IOS
- SQL
- ๋์ ๊ณํ๋ฒ
- SwiftUI Tutorials
- Til
- discardableResult
- URLSession
- GCD
- ์ด์งํ์
- Swift
- APPJAM
- concurrency
- ์ฐ์ํ์ค๋ถ๋ถ์์ด์ํฉ
- SwiftUI ํํ ๋ฆฌ์ผ
- duno
- DynamicProgramming
- ํ๋ก๊ทธ๋๋จธ์ค
- algoritm
- ๊ณ ๋์ kit
- BFS
- binarySearch
- Today
- Total
๋ชฉ๋กalgorithm (8)
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์ฐจ์ ๋ฆฌ..
๐ ์ฝ๋ฉํ ์คํธ์์ ๊ตฌํ์ด๋ ? ๋จธ๋ฆฟ์์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ค์ฝ๋๋ก ๋ฐ๊พธ๋ ๊ณผ์ - ๊ตฌํ ์ ํ์ ๋ฌธ์ ๋ ํ์ด๋ฅผ ๋ ์ฌ๋ฆฌ๋ ๊ฒ์ ์ฝ์ง๋ง ์์ค์ฝ๋๋ก ์ฎ๊ธฐ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ ์๋ฏธํ๋ค ! ex) ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋จํ๋ฐ ์ฝ๋๊ฐ ์ง๋์น ๋งํผ ๊ธธ์ด์ง๋ ๋ฌธ์ , ํน์ ์์์ ์๋ฆฌ๊น์ง ์ถ๋ ฅํด์ผํ๋ ๋ฌธ์ , ๋ฌธ์์ด์ด ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ก์ ๋ ํ ๋ฌธ์ ๋จ์๋ก ๋์ด์ ๋ฆฌ์คํธ์ ๋ฃ์ด์ผํ๋ ๋ฌธ์ ๋ฑ ๐๐ป ์์ ํ์ , ์๋ฎฌ๋ ์ด์ ์ ํ์ ๋ชจ๋ ๊ตฌํ ์ ํ์ผ๋ก ๋ฌถ์ด์ ์ค๋ช ํ ์์ ! 1. ์์ ํ์ : ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฃผ์ ์์ด ๋ค ๊ณ์ฐํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ 2. ์๋ฎฌ๋ ์ด์ : ๋ฌธ์ ์์ ์ ์ํ ์๊ณ ๋ฆฌ์ฆ์ ํ๋จ๊ณ์ฉ ์ฐจ๋ก๋๋ก ์ง์ ์ํํ๋ ๋ฌธ์ ๐ ๊ตฌํ ์ ๊ณ ๋ คํด์ผ ํ ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ ์ฌํญ ๐ ํ์ด์ฌ์์ ๋ฆฌ์คํธ ํฌ๊ธฐ ํ์ด์ฌ์์ ์ฌ๋ฌ ๊ฐ์ ๋ณ์๋ฅผ ์ฌ์ฉํ ๋๋ ๋ฆฌ์คํธ..