์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋น ๋ฐ์ดํฐ
- ํ๋ธ๋ฃจ
- ์์ฐ์ด์ฒ๋ฆฌ
- ํ์ด์ฌ
- ์ฝํ
- erp
- sap
- tableau
- Git
- abap
- github
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๋ฐ์ดํฐ๋ถ์
- ๋ฐฑ์ค
- ํ ์คํธ๋ถ์
- DFS
- AI
- react
- nlp
- ๋ฅ๋ฌ๋
- ์๋ง์กด์น์๋น์ค
- ํ ์คํธ๋ง์ด๋
- ์๊ณ ๋ฆฌ์ฆ
- ์ธ๊ณต์ง๋ฅ
- ๋ฆฌ์กํธ
- ์ฝ๋ฉํ ์คํธ
- ๋ฐ์ดํฐ ๋ถ์
- ๊นํ๋ธ
- ํ๋ธ๋ก
- AWS
- Today
- Total
๋ชฉ๋กBFS (6)
Hey Tech
๐ ๋ฌธ์ https://www.acmicpc.net/problem/16234 16234๋ฒ: ์ธ๊ตฌ ์ด๋ N×Nํฌ๊ธฐ์ ๋ ์ด ์๊ณ , ๋ ์ 1×1๊ฐ์ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๋ค. ๊ฐ๊ฐ์ ๋ ์๋ ๋๋ผ๊ฐ ํ๋์ฉ ์กด์ฌํ๋ฉฐ, rํ c์ด์ ์๋ ๋๋ผ์๋ A[r][c]๋ช ์ด ์ด๊ณ ์๋ค. ์ธ์ ํ ๋๋ผ ์ฌ์ด์๋ ๊ตญ๊ฒฝ์ ์ด ์กด์ฌํ๋ค. ๋ชจ www.acmicpc.net ๐ก ์ ๊ทผ๋ฒ BFS ์๊ณ ๋ฆฌ์ฆ๊ณผ ํ(Queue) ์๋ฃ๊ตฌ์กฐ๋ฅผ ํ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค. ๋ฌธ์ ํด๊ฒฐ ์ ์ฐจ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋ชจ๋ ๊ตญ๊ฐ๋ฅผ ๋์์ผ๋ก ๊ฐ๊ฐ ์ค์ฌ๊ตญ์ผ๋ก ์ ์ ํ๊ณ , ์ํ์ข์ฐ ๋ฐฉ๋ฉด์ ์ฐํฉ์ด ๊ฐ๋ฅํ ์ธ์ ๊ตญ์ด ์๋์ง ํ์ํ๋๋ค. ๋ง์ผ ์ฐํฉ๊ตญ์ด ์ฑ๋ฆฝ๋๋ค๋ฉด, ํด๋น ์ธ์ ๊ตญ์ ์ค์ฌ์ผ๋ก ๋ค์ ์ํ์ข์ฐ ๋ฐฉ๋ฉด์ ์ธ์ ๊ตญ๊ณผ ์ฐํฉ๊ตญ์ด ์ฑ๋ฆฝ๋๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค. ์ด ๊ณผ์ ์ ์ํ์ข์ฐ ๋ฐฉ๋ฉด์ผ๋ก..
๐ ๋ฌธ์ https://www.acmicpc.net/problem/13460 13460๋ฒ: ๊ตฌ์ฌ ํ์ถ 2 ์ฒซ ๋ฒ์งธ ์ค์๋ ๋ณด๋์ ์ธ๋ก, ๊ฐ๋ก ํฌ๊ธฐ๋ฅผ ์๋ฏธํ๋ ๋ ์ ์ N, M (3 ≤ N, M ≤ 10)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์ ๋ณด๋์ ๋ชจ์์ ๋ํ๋ด๋ ๊ธธ์ด M์ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ์ด ๋ฌธ์์ด์ '.', '#', 'O', 'R', 'B' www.acmicpc.net ๐ก ์ ๊ทผ๋ฒ BFS ์๊ณ ๋ฆฌ์ฆ๊ณผ ํ(Queue) ์๋ฃ๊ตฌ์กฐ๋ฅผ ํ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค. ๋นจ๊ฐ ๊ณต๊ณผ ํ๋ ๊ณต์ ์ขํ ์ ๋ณด์ ๋ณด๋๋ฅผ ๊ธฐ์ธ์ธ ํ์๋ฅผ ์ ์ฅํ๋ ํ๊ฐ ๋น ๋๊น์ง ๋ค์ ์์ ์ ๋ฐ๋ณตํฉ๋๋ค. ๊ณต์ด ์์ง์ผ ์ ์์ ๋๊น์ง ๋ฐ๋ณต๋ฌธ์ ํ์ฉํ์ฌ ์ํ์ข์ฐ ๋ฐฉํฅ์ผ๋ก ์์ง์ด๊ฒ ํ๋ฉฐ, ๋ณด๋๋ฅผ ๊ธฐ์ธ์ธ ๋ฐฉํฅ์ผ๋ก ๊ณต์ด ๋ชจ๋ ์์ง์๋ค๋ฉด ํ์ ๊ณต๋ค์ ์ขํ์ ๊ธฐ..
๐ ๋ฌธ์ https://www.acmicpc.net/problem/16236 16236๋ฒ: ์๊ธฐ ์์ด N×N ํฌ๊ธฐ์ ๊ณต๊ฐ์ ๋ฌผ๊ณ ๊ธฐ M๋ง๋ฆฌ์ ์๊ธฐ ์์ด 1๋ง๋ฆฌ๊ฐ ์๋ค. ๊ณต๊ฐ์ 1×1 ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๋ค. ํ ์นธ์๋ ๋ฌผ๊ณ ๊ธฐ๊ฐ ์ต๋ 1๋ง๋ฆฌ ์กด์ฌํ๋ค. ์๊ธฐ ์์ด์ ๋ฌผ๊ณ ๊ธฐ๋ ๋ชจ๋ ํฌ๊ธฐ๋ฅผ ๊ฐ www.acmicpc.net ๐ก ์ ๊ทผ๋ฒ 1) ์๊ณ ๋ฆฌ์ฆ ๋ฐ ์๋ฃ๊ตฌ์กฐ BFS ์๊ณ ๋ฆฌ์ฆ๊ณผ ํ(Queue) ์๋ฃ๊ตฌ์กฐ๋ฅผ ํ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค. ์์ด๊ฐ ์๋ก์ด ์ขํ๋ก ์ด๋ํ๋ฉด, ํ์ ์์์ ์ญ์ ํด๋น ์๋ก์ด ์ขํ๋ก ์ด๋ํ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๋ฐ๋ผ์ ์ด๊ธฐ ์์ด์ ์์น๋ฅผ ํ์ ๋ฃ๊ณ ํ์ํ ๋๋ง๋ค ๊บผ๋ด๋ฉฐ, ์๋ก์ด ์ขํ๋ก ์ด๋ํ ๋๋ง๋ค ํ์ ๋ฃ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด ๋ฉ๋๋ค. 2) ๋ฌธ์ ํ์ด ์ ๋ต ์์ด๋ ๊ฐ๋ฅํ ์ต๋ํ ๋ง์ ๋ฌผ๊ณ ..
๐ ๋ฌธ์ https://www.acmicpc.net/problem/14502 14502๋ฒ: ์ฐ๊ตฌ์ ์ธ์ฒด์ ์น๋ช ์ ์ธ ๋ฐ์ด๋ฌ์ค๋ฅผ ์ฐ๊ตฌํ๋ ์ฐ๊ตฌ์์์ ๋ฐ์ด๋ฌ์ค๊ฐ ์ ์ถ๋์๋ค. ๋คํํ ๋ฐ์ด๋ฌ์ค๋ ์์ง ํผ์ง์ง ์์๊ณ , ๋ฐ์ด๋ฌ์ค์ ํ์ฐ์ ๋ง๊ธฐ ์ํด์ ์ฐ๊ตฌ์์ ๋ฒฝ์ ์ธ์ฐ๋ ค๊ณ ํ๋ค. ์ฐ๊ตฌ์๋ ํฌ www.acmicpc.net ๐ก ์ ๊ทผ๋ฒ 1) ๋ฌธ์ ํด๊ฒฐ ์ ์ฐจ ๋ฌธ์ ํด๊ฒฐ ์ ์ฐจ๋ ๋ค์๊ณผ ๊ฐ์ด ํฌ๊ฒ 3๋จ๊ณ์ ๋๋ค. 1๏ธโฃ ๋ฒฝ์ ์ธ์ธ ์ ์๋ 3๊ฐ ์ง์ ์ ๋ชจ๋ ์กฐํฉ ์ฐพ๊ธฐ 2๏ธโฃ ์์ 1๏ธโฃ์์ ์ ํ ์ง์ ์ ๋ฒฝ์ ์ธ์ฐ๊ณ ๋ฐ์ด๋ฌ์ค ์ ํ 3๏ธโฃ ๊ฐ์ฅ ๋์ ์์ ์ง๋์ ๋ฒ์ ์ถ๋ ฅ 2) ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ BFS ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค. ์กฐํฉ(combination)์ ์ฌ์ฉํ ๊ฒฝ์ฐ์ ํ์ง ์์ ๊ฒฝ์ฐ๋ฅผ ๋๋์ด ํ์ด๋ดค์ต๋๋ค. ๊ฐ๊ฐ ๋๋์ด ..
๋ณธ ํฌ์คํ ์์๋ ๋๋น ์ฐ์ ํ์์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ BFS(Breadth-First Search)์ ๋ํด ์์๋ด ๋๋ค. ๐ ๋ชฉ์ฐจ 1. BFS ์๊ณ ๋ฆฌ์ฆ์ด๋? 2. BFS ์๊ณ ๋ฆฌ์ฆ ๋์ ๊ณผ์ 3. BFS ํ์ด์ฌ ๊ตฌํ 3.1. ์์ค์ฝ๋ ์ค๋ช 3.2. ์ ์ฒด ์์ค์ฝ๋ 1. BFS ์๊ณ ๋ฆฌ์ฆ์ด๋? BFS(Breadth-First Search)๋ ๋๋น ์ฐ์ ํ์์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ ๊ทธ๋ํ์์ ์์ ๋ ธ๋์ ์ธ์ ํ ๋ ธ๋๋ถํฐ ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. BFS ์๊ณ ๋ฆฌ์ฆ์ ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น์? BFS ์๊ณ ๋ฆฌ์ฆ์ ์ฃผ๋ก ๊ทธ๋ํ์์ ๋ชจ๋ ๊ฐ์ ์ ๋น์ฉ์ด ๋์ผํ ์กฐ๊ฑด์์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํด๊ฒฐํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ "๋ฏธ๋ก๋ฅผ ๋น ์ ธ๋๊ฐ๋ ์ต๋จ ๊ฑฐ๋ฆฌ(๊ฒฝ๋ก)"๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๋ฑ์์ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค...
๋ณธ ํฌ์คํ ์์๋ ํ(Queue) ์๋ฃ๊ตฌ์กฐ์ ๋ํด ์์๋ด ๋๋ค. ๐ ๋ชฉ์ฐจ 1. ํ(Queue) ์๋ฃ๊ตฌ์กฐ๋? 2. ํ ๋์ ์์ 3. ํ ๊ตฌํ(Python) 1. ํ(Queue) ์๋ฃ๊ตฌ์กฐ๋? ํ ์๋ฃ๊ตฌ์กฐ๋ ์ ์ ์ ์ถ(ๅ ๅ ฅๅ ๅบ, First In First Out, ์ค์ฌ์ FIFO) ๊ตฌ์กฐ๋ก ํํ ๋์ด๊ณต์ ๋ด ๋์ด๊ธฐ๊ตฌ ๋๊ธฐ์ค์ ๋น์ ํฉ๋๋ค(๊ทธ๋ฆผ 1 ์ฐธ๊ณ ). ์ฆ, ๋์ด๊ธฐ๊ตฌ ๋๊ธฐ์ค์ ๋จผ์ ์ ์ฌ๋(๋ฐ์ดํฐ ์ ๋ ฅ)์ด ๋จผ์ ๋์ด๊ธฐ๊ตฌ๋ฅผ ํ๋(๋ฐ์ดํฐ ์ถ๋ ฅ/์ ๊ฑฐ) ๋ฐฉ์์ ๋๋ค(๋จ, ์์น๊ธฐ๋ ์๋ค๊ณ ๊ฐ์ ). ํ ์๋ฃ๊ตฌ์กฐ๋ ์๋ 2๊ฐ์ง ํต์ฌ์ ์ธ ํจ์๋ก ๋์ํฉ๋๋ค. ๋ฐ์ดํฐ ์ฝ์ (append) ๋ฐ์ดํฐ ์ญ์ (popleft) ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ ๋๋ ์ค๋ฒํ๋ก์ฐ(Overflow)์ ์ธ๋ํ๋ก์ฐ(Underflow)๊ฐ ๋ฐ์ํ์ง ์๋๋ก ์ ์ํด์ผ ํฉ๋๋ค..