- nestjs
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- ๋นํธ๋ง์คํน
- go
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- C++
- ์๊ณ ๋ฆฌ์ฆ
- ํ๋ฆฌ์จ๋ณด๋ฉ
- ์ด๋ถํ์
- ๋ฐฑ์ค
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋นํธ๋งต
- golang
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- BFS
- Union-Find
- ํธ๋ฆฌ
- ์น๋ฆฐ์ด
- Python
- ์นด์นด์ค ์ฝํ
- ์นด์นด์ค2021
- ์ํฐ๋
- ์ฌ๊ท
- DP
- ๋ค์ต์คํธ๋ผ
- DFS
- ์์ฝ๋
- js
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- LCs
- Today
- Total
๋ชฉ๋กDP (9)
Hello Ocean! ๐ผ
๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/67259 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ฒฝ์ฃผ๋ก ๊ฑด์ค [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr ๋ฌธ์ ๋ฅผ ์์ฝํ์๋ฉด, ์ ์ฌ๊ฐํ ๋ชจ์์ board์์ (0, 0)์์ (N-1, N-..
๋ฌธ์ https://www.acmicpc.net/problem/12888 BOJ ๋๋ผ๋ ๋์์ ๋ ๋์๋ฅผ ์ฐ๊ฒฐํ๋ ๋๋ก๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ด ๋๋ผ์ ๋๋ก ๋คํธ์ํฌ๋ ์์ ์ด์ง ํธ๋ฆฌ์ ํํ๋ฅผ ๊ฐ์ง๋ค. ์๋น์ด๋ BOJ ๋๋ผ์ ๋๋ก ๋คํธ์ํฌ ํธ๋ฆฌ์ ๋์ด H๋ฅผ ์๊ณ ์๋ค. ํธ๋ฆฌ์ ๋์ด๋ฅผ ์๋ค๋ฉด, ๋์์ ๊ฐ์์ ๋๋ก์ ๊ฐ์๋ ๊ตฌํ ์ ์๋ค. ํธ๋ฆฌ์ ๋์ด๊ฐ H์ธ ๊ฒฝ์ฐ์ ๋์์ ๊ฐ์๋ 2(H+1)-1๊ฐ ์ด๊ณ , ๋๋ก์ ๊ฐ์๋ 2(H+1)-2๊ฐ๊ฐ ๋๋ค. ์๋ ๊ทธ๋ฆผ์ H = 2์ผ ๋, ๊ทธ๋ฆผ์ด๋ค. ์๋น์ด๋ ๋๋ก ๋คํธ์ํฌ์ ์ฐจ๋ฅผ ๋ณด๋ด๋ ค๊ณ ํ๋ค. ๋ชจ๋ ์ฐจ๋ ์์ ๋์์ ๋์ฐฉ ๋์๊ฐ ์์ผ๋ฉฐ, ๊ฐ์ ๋์๋ฅผ ๋ ๋ฒ ์ด์ ๋ฐฉ๋ฌธํ์ง ์๋๋ค. ์ฐจ์ ์์ ๋์์ ๋์ฐฉ ๋์๊ฐ ๊ฐ์ ์๋ ์๋ค. ๋ชจ๋ ๋์๋ฅผ ๋ฐฉ๋ฌธํ ์ฐจ์ ๊ฐ์๊ฐ ๋ชจ๋ 1๊ฐ๊ฐ ๋..
๋ฌธ์ ๋ฐฐ์ด์์ 1๋ก ๋ ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ์ ํฌ๊ธฐ๋ฅผ ๊ตฌํด๋ผ! www.acmicpc.net/problem/1915 1915๋ฒ: ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฒซ์งธ ์ค์ n, m(1 ≤ n, m ≤ 1,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ n๊ฐ์ ์ค์๋ m๊ฐ์ ์ซ์๋ก ๋ฐฐ์ด์ด ์ฃผ์ด์ง๋ค. www.acmicpc.net ํ์ด DP๋ฅผ ์ด์ฉํ๊ฒ ๋ค! cache[r][c] = min(min(cache[r + 1][c], cache[r + 1][c + 1]), cache[r][c + 1])+1; cache๋ฐฐ์ด์์ ์ ์ผ ์๋ ํ, ์ค๋ฅธ์ชฝ ์ด์ table๊ณผ ๋๊ฐ์ด ์ฑ์์ค๋ค. ๊ทธ ํ์ ๋ฐ๋ณต๋ฌธ์ ๋๋ฉด์, table๊ฐ์ด 0์ด๋ฉด 0์ผ๋ก ์ฑ์ฐ๊ณ ๋์ด๊ฐ๊ณ , 0์ด ์๋๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด cache[r + 1][c], cache[r + 1][c + 1], cach..
๋ฌธ์ programmers.co.kr/learn/courses/30/lessons/42897 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋๋์ง ๋๋์ด ์ด๋ ๋ง์์ ํธ ๊ณํ์ ํ๊ณ ์์ต๋๋ค. ์ด ๋ง์์ ๋ชจ๋ ์ง๋ค์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋๊ทธ๋๊ฒ ๋ฐฐ์น๋์ด ์์ต๋๋ค. ๊ฐ ์ง๋ค์ ์๋ก ์ธ์ ํ ์ง๋ค๊ณผ ๋ฐฉ๋ฒ์ฅ์น๊ฐ ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ธ์ ํ programmers.co.kr ๋๋์ด ์ด๋ ๋ง์์ ํธ ๊ณํ์ ํ๊ณ ์์ต๋๋ค. ์ด ๋ง์์ ๋ชจ๋ ์ง๋ค์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋๊ทธ๋๊ฒ ๋ฐฐ์น๋์ด ์์ต๋๋ค. ๊ฐ ์ง๋ค์ ์๋ก ์ธ์ ํ ์ง๋ค๊ณผ ๋ฐฉ๋ฒ์ฅ์น๊ฐ ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ธ์ ํ ๋ ์ง์ ํธ๋ฉด ๊ฒฝ๋ณด๊ฐ ์ธ๋ฆฝ๋๋ค. ๊ฐ ์ง์ ์๋ ๋์ด ๋ด๊ธด ๋ฐฐ์ด money๊ฐ ์ฃผ์ด์ง ๋, ๋๋์ด ํ์น ์ ์๋ ๋์ ์ต๋๊ฐ์ ๊ตฌํด๋ณด์! ์ ํ์ฌํญ ์ด ๋ง์์ ์๋ ์ง์ 3๊ฐ ์ด์ 1,000,0..
๋ฌธ์ www.acmicpc.net/problem/2225 2225๋ฒ: ํฉ๋ถํด ์ฒซ์งธ ์ค์ ๋ต์ 1,000,000,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. www.acmicpc.net ์ ์์ฌํญ 1+2 ์ 2+1์ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ก ์ผ๋ค๋ ๊ฒ. 0๋ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ. ๊ฒฝ์ฐ์ ์๋ฅผ 1000000000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํด์ผํ๋ค๋ ๊ฒ ํ์ด ์ด ๋ฌธ์ ๋ DP(๋์ ๊ณํ๋ฒ)์ ์ด์ฉํ๋ฉด ํ ์ ์๋ค! 2์ฐจ์ ์บ์๋ฐฐ์ด์ ์ด์ฉํ ๋ฉ๋ชจ์ด์ ์ด์ ์ ์ ์ฉํด์ผ ํ๋ค. cache[k][n] : k๊ฐ์ ์ซ์๋ฅผ ๋ํด์ n์ ๋ง๋ค ์ ์๋ ๊ฒฝ์ฐ์ ์ ๊ทธ๋ฆฌ๊ณ cache[k][n]์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํ ์ ์๋ค. (์ ํ์) cache[k][n] = cache[k-1][0] + cache[k-1][1] + cacke[k-1][2] + ... + c..
๋ฌธ์ www.acmicpc.net/problem/12865 12865๋ฒ: ํ๋ฒํ ๋ฐฐ๋ญ ์ฒซ ์ค์ ๋ฌผํ์ ์ N(1 ≤ N ≤ 100)๊ณผ ์ค์๊ฐ ๋ฒํธ ์ ์๋ ๋ฌด๊ฒ K(1 ≤ K ≤ 100,000)๊ฐ ์ฃผ์ด์ง๋ค. ๋ ๋ฒ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑฐ์ณ ๊ฐ ๋ฌผ๊ฑด์ ๋ฌด๊ฒ W(1 ≤ W ≤ 100,000)์ ํด๋น ๋ฌผ๊ฑด์ ๊ฐ์น V(0 ≤ V ≤ 1,000) www.acmicpc.net ํ์ด ์ฒ์์๋, DP๋ฅผ ์ด๋ป๊ฒ ์ด์ฉํด์ผํ ์ง ๋ ์ค๋ฅด์ง ์์์ ์ผ๋จ ์์ ํ์์ผ๋ก ๊ตฌํํด๋ณด์๋ค. ๊ฒฐ๊ณผ๋ ๋๋ฌด ๋น์ฐํ๊ฒ๋ ์๊ฐ์ด๊ณผ์๋ค! ์์ ํ์์ผ๋ก ๊ตฌํํ๊ณ ๋๋ฉด, DP์ ๋ํ ๊ฐ์ด ์ฌ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋๋ฐ ์ ํ ์ค์ง ์์๋ค. ๊ฒฐ๊ตญ ๊ฒ์์ ํ์ ๋น๋ ธ๋๋ฐ, ์ด ๋ฌธ์ ๋ ๋ํ์ ์ธ "๋ ์ ๋ฌธ์ "๋ผ๊ณ ํ๋ค. ๋ ์ ๋ฌธ์ (knapsack problem)๋? ๋ ์ ๋ฌธ..