- DFS
- ์ฌ๊ท
- ์ํฐ๋
- Python
- ํธ๋ฆฌ
- ํ๋ฆฌ์จ๋ณด๋ฉ
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- LCs
- ์๊ณ ๋ฆฌ์ฆ
- ์นด์นด์ค2021
- DP
- ๋ค์ต์คํธ๋ผ
- golang
- ์ด๋ถํ์
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- ์นด์นด์ค ์ฝํ
- js
- Union-Find
- ๋นํธ๋ง์คํน
- ์น๋ฆฐ์ด
- ๋นํธ๋งต
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- BFS
- C++
- ๋ฐฑ์ค
- go
- nestjs
- ํ๋ก๊ทธ๋๋จธ์ค
- ์์ฝ๋
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- Today
- Total
๋ชฉ๋กAlgorithm (101)
Hello Ocean! ๐ผ
๋ฌธ์ https://www.acmicpc.net/problem/2250 ์ ๋ ฅ๋ ์ด์งํธ๋ฆฌ์ ๋ํด์ ๊ฐ ๋ ธ๋์ ๋ํด ์ธ๋ก์์น(์ด)๋ฒํธ๋ฅผ ๋งค๊ฒจ์ ๊ฐ์ฅ ๋์ ๋ ๋ฒจ์ ์ฐพ๊ณ , ๊ทธ ๋๋น๋ฅผ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ด๋ค. ํ์ด left, rignt๊ฐ์ ๊ฐ์ง ๋ ธ๋๋ฅผ ๋ง๋ค๊ณ , ๋ ธ๋๋ฒํธ๊ฐ 0~N-1๊น์ง์ด๊ธฐ ๋๋ฌธ์ Nํฌ๊ธฐ์ ๋ ธ๋ ๋ฐฐ์ด์ ๋ง๋ค์ด ํธ๋ฆฌ๋ก ์ด์ฉํ๋ค. -> ๋ฃจํธ๋ฅผ ์ ์ ์๊ธฐ ๋๋ฌธ์, ์ ๋ ฅ๋ฐ์ ๋ check๋ฐฐ์ด์ ์์ ,์ผ์ชฝ์์,์ค๋ฅธ์ชฝ์์ ๋ชจ๋ +1์ ํ๋ค. ์ ๋ ฅ์ ๋ค ๋ฐ์ ํ์ check[root] = 1์ด๊ณ , root๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ ธ๋๋ 2์ด๋ค. ์ด๋ ๊ฒ ๋ฃจํธ๋ฅผ ์ฐพ์๋ค. ์ค์์ํ : ์ผ->์์ ->์ค ์์ผ๋ก ๋ฐฉ๋ฌธ ๋ฐ๋ผ์ ํธ๋ฆฌ๋ฅผ ์ค์์ํํ์ฌ 1๋ถํฐ ํ๋์ฉ ์ฆ๊ฐ์ํค๋ฉฐ ์ด๋ฒํธ๋ฅผ ๋งค๊ฒผ๋ค. ์ด ๋, level๊ฐ์ ์ด์ฉํ์ฌ min_col..
๋ฌธ์ https://www.acmicpc.net/problem/9019 ํ์ด BFS๋ฅผ ์ด์ฉํ๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ์๊ฐ 0 ~ 9999 ๊น์ง ์๊ธฐ ๋๋ฌธ์, 10000ํฌ๊ธฐ์ visited ๋ฐฐ์ด์ ๋ง๋ค์ด ์ด์ฉํ๋ค. ์ฒ์์ L๊ณผ R์ ์ซ์๋ฅผ String์ผ๋ก ๋ฐ๊พธ์ด์ ๋ง๋๋ ๋ฐฉ์์ผ๋ก ํด์ ์๊ฐ์ด๊ณผ๊ฐ ๋์๋ค. ๊ต์ฅํ ์ฌ์ํ ๋ถ๋ถ์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ, ํ ์คํธ์ผ์ด์ค๋ฅผ ๋ง์ด ์ง์ด๋ฃ์ ์ ์๋ ๋ฐฉ์์ด๋ผ์ ์๊ฐ์ด๊ณผ๊ฐ ๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ main์ cin, cout ์ ์ถ๋ ฅ ์๊ฐ์ ์ค์ด๊ธฐ ์ํ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋๋ ์๊ฐ์ด ์์ฃผ ์กฐ๊ธ ๋ ์ค์๋ค. ์ฝ๋ #include #include #include using namespace std; #define MAX 10000 bool visited[MAX]; string BFS(int A, i..
๋ฌธ์ https://www.acmicpc.net/problem/1525 ํ์ด BFS๋ฅผ ์ด์ฉํด์ ํ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ตฌ์กฐ์ฒด๋ฅผ ๋ง๋ค์ด, ํ์ ๊ตฌ์กฐ์ฒด๋ฅผ ๋ฃ๋ ๋ฐฉ์์ผ๋ก BFS๋ฅผ ๊ตฌํํ๋ค. ์ฒซ ๋ฒ์งธ ์๋ ๋ฐฉ๋ฌธ์ฒดํฌ๋ฅผ 876543211 ํฌ๊ธฐ์ ๋ฐฐ์ด ์ด์ฉ ๊ตฌ์กฐ์ฒด ์์ int 3๊ฐ(r, c, count), 3x3 vector ํ ๊ฐ → ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ ! ๋ ๋ฒ์งธ ์๋ ๊ตฌ์กฐ์ฒด์ ๋๋ฌด ๋ง์ ๊ฒ๋ค์ด ๋ค์ด์๋๊ฒ ๋ฌธ์ ์ธ๊ฐ ์ถ์ด์, ๊ตฌ์กฐ์ฒด์์ int 1๊ฐ, string 1๊ฐ๋ง ๋ฃ๋๋ก ํ๋ค. → ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ ! ์ต์ข ์๋ ๋ฐฉ๋ฌธ ์ฒดํฌ๋ฅผ string set์ ์ด์ฉํด์ ํ๋ค. 876543211ํฌ๊ธฐ์ visited ๋ฐฐ์ด์ ๋ง๋ ๊ฒ ์์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ์ ์์ธ์ธ ๊ฒ ๊ฐ์๋ค. ์ฝ๋ #include #include #include #include #i..
๋ฌธ์ https://www.acmicpc.net/problem/2146 ๊ฐ๊ฐ์ ์ฌ(์ก์ง ๋ฉ์ด๋ฆฌ?)์์ ๋ค๋ฅธ ์ฌ ๊น์ง ๊ฐ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์ ์ค์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค! ํ์ด DFS์ BFS๋ฅผ ๋ชจ๋ ์ด์ฉํ๋ค. ๋จผ์ , ๊ฐ ์ฌ๋ค์ ๋ฒํธ๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด DFS๋ฅผ ๋๋ ธ๋ค. ๊ทธ ํ์ BFS๋ฅผ ๋๋ ค์ ์ด๋ค ์ฌ์์ ๋ ๋ค๋ฅธ ์ฌ๊น์ง ๊ฐ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ ํ์, ๊ทธ ์ค์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค. ๋งต์ ํฌ๊ธฐ(n)์ด 100์ดํ์ด๊ธฐ ๋๋ฌธ์ input์ด ์์์ ์๊ฐ์ด๊ณผ ๊ฑฑ์ ์์ด ํ์๋ค. ์ฝ๋ #include #include #include using namespace std; #define LAND 1 #define SEA 0 int dr[4] = { -1,1,0,0 }; int dc[4] = { 0,0,..
๋ฌธ์ https://www.acmicpc.net/problem/2589 ์ก์ง์ ๋ฐ๋ค๋ก ์ด๋ฃจ์ด์ง nxm ๋งต์์ ์ก์ง์์ ์์ํด์, ๋ฐ๋ค๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๊ฐ ์ ์๋ ๊ฐ์ฅ ๋จผ ์ก์ง๊น์ง์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ํ์ด BFS๋ฅผ ์ด์ฉํด์ ํ์๋ค! ๋ํ, ๋ชจ๋ ์ก์ง๊ฐ ์์์ ์ด ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์์ ํ์์ด๊ธฐ๋ ํ๋ค. ๋ชจ๋ ์ก์ง์์ BFS๋ฅผ ๋๋ ค์, ๋ค๋ฅธ ์ก์ง๊น์ง์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๋ชจ๋ ๊ตฌํด์ ๊ทธ ์ค์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค. ์ฝ๋ #include #include using namespace std; int dr[4] = { -1,1,0,0 }; int dc[4] = { 0,0,-1,1 }; int map[52][52] = { 0, }; int cache[52][52] = { 0, }; int max_dist = 0; vo..
๋ฌธ์ www.acmicpc.net/problem/1707 ํ์ด ์ฒ์์๋, ๋ฒกํฐ ๋๊ฐ๋ฅผ ๋ง๋ค์ด์ ๊ฐ ๊ทธ๋ฃน์ ๋ ธ๋๋ค์ ์ฑ์๋๊ฐ๋ ํ์์ผ๋ก ํ๋๋ฐ ๋ฌธ์ ์ ์ด ์์๋ค. ๊ทธ๋ํ๊ฐ ๊ผญ ๋ ๊ทธ๋ฃน์ผ๋ก ๋๋์ง ์๋๋ค๋ ๊ฒ์ด์๋ค. ์๋ ๊ทธ๋ฆผ์ case2์ ๊ฐ์ด ๋ ๋ฆฝ์ ์ธ ์ฌ๋ฌ๊ฐ์ ๊ทธ๋ฃน์ผ๋ก ๋๋ ์ ์์๋ค. ๊ทธ๋์ ์์ ํ๊ฒ ์ผ๋ฐ์ ์ธ ๊ทธ๋ํ ํ์ด ๋ฐฉ์์ ์ด์ฉํ์๋ค. BFS๋ก ๊ทธ๋ํ ํ์ ํ์, ํด๋น ๊ทธ๋ํ๊ฐ ์ด๋ถ๊ทธ๋ํ์ธ์ง ํ์ธํ๋ ๊ณผ์ ์ ๊ฑฐ์ณค๋ค. ๊ฐ์ ์ ์ ๋ ฅ๋ฐ์ ๋, v1 -> v2๋ง ์ ์ฅํด์ ํ๋ ธ์ต๋๋ค๊ฐ ๋์๋ค. ๋ฌด๋ฐฉํฅ๊ทธ๋ํ์ด๊ธฐ ๋๋ฌธ์, v2 -> v1๋ ์ ์ฅํด์ผํ๋ค! ๊ทธ๋ฆฌ๊ณ BFS๋ฅผ ํ ๋ฒ๋ง ๋๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ, ๋ชจ๋ ๋ ธ๋๋ฅผ ๋ฐฉ๋ฌธํ ๋ ๊น์ง ์ฌ๋ฌ๋ฒ ๋๋ ค์ผํ๋ค. ์ฝ๋ #include #include #include using ..