์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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
- ๋ฐ์ดํฐ ๋ถ์
- AI
- ๊นํ๋ธ
- Git
- ์ฝํ
- ์๋ง์กด์น์๋น์ค
- ํ๋ธ๋ฃจ
- ๋น ๋ฐ์ดํฐ
- ๋ฐ์ดํฐ๋ถ์
- github
- ๋ฆฌ์กํธ
- nlp
- ์์ฐ์ด์ฒ๋ฆฌ
- ์ธ๊ณต์ง๋ฅ
- DFS
- ๋ฅ๋ฌ๋
- react
- ํ ์คํธ๋ถ์
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐฑ์ค
- ํ ์คํธ๋ง์ด๋
- AWS
- ํ์ด์ฌ
- ์๋ฐ์คํฌ๋ฆฝํธ
- abap
- tableau
- Today
- Total
๋ชฉ๋กํ ์๋ฃ๊ตฌ์กฐ (5)
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) ๋ฌธ์ ํ์ด ์ ๋ต ์์ด๋ ๊ฐ๋ฅํ ์ต๋ํ ๋ง์ ๋ฌผ๊ณ ..
๐ ๋ชฉ์ฐจ 1. ์ฐ์ ์์ ํ(Priority Queue)๋? 2. ํ(Heap) ์๋ฃ๊ตฌ์กฐ 2.1. ํ ์๋ฃ๊ตฌ์กฐ๋? 2.2. ์ฐ์ ์์ ํ ๊ตฌํ ๋ฐฉ์: ๋ฆฌ์คํธ vs ํ 3. ํ ๊ธฐ๋ฐ์ ์ฐ์ ์์ ํ ๊ตฌํ(Python) 3.1. heapq ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์๊ฐ 3.1.1. ํ ์์ ์ถ๊ฐ(heappush) 3.1.2. ํ ์์ ์ญ์ (heappop) 3.1.3. ๋ฆฌ์คํธ๋ฅผ ํ์ผ๋ก ๋ณ๊ฒฝ(heapify) 3.2. ํ ๊ธฐ๋ฐ์ ์ฐ์ ์์ ํ ๊ตฌํ ์์ 1. ์ฐ์ ์์ ํ(Priority Queue)๋? ์ฐ์ ์์ ํ๋ ๋ง ๊ทธ๋๋ก ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋จผ์ ์ถ์ถํ๋ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํ(Queue) ์๋ฃ๊ตฌ์กฐ๋ ์ ์ ์ ์ถ ๋ฐฉ์์ผ๋ก์ ๊ฐ์ฅ ๋จผ์ ์ฝ์ ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋จผ์ ์ถ์ถํฉ๋๋ค. ๊ฐ๋จํ๊ฒ ํน์ง์ด ์ ์ฌํ ์๋ฃ๊ตฌ์กฐ๋ค์ ..
๋ณธ ํฌ์คํ ์์๋ ํ(Queue) ์๋ฃ๊ตฌ์กฐ์ ๋ํด ์์๋ด ๋๋ค. ๐ ๋ชฉ์ฐจ 1. ํ(Queue) ์๋ฃ๊ตฌ์กฐ๋? 2. ํ ๋์ ์์ 3. ํ ๊ตฌํ(Python) 1. ํ(Queue) ์๋ฃ๊ตฌ์กฐ๋? ํ ์๋ฃ๊ตฌ์กฐ๋ ์ ์ ์ ์ถ(ๅ ๅ ฅๅ ๅบ, First In First Out, ์ค์ฌ์ FIFO) ๊ตฌ์กฐ๋ก ํํ ๋์ด๊ณต์ ๋ด ๋์ด๊ธฐ๊ตฌ ๋๊ธฐ์ค์ ๋น์ ํฉ๋๋ค(๊ทธ๋ฆผ 1 ์ฐธ๊ณ ). ์ฆ, ๋์ด๊ธฐ๊ตฌ ๋๊ธฐ์ค์ ๋จผ์ ์ ์ฌ๋(๋ฐ์ดํฐ ์ ๋ ฅ)์ด ๋จผ์ ๋์ด๊ธฐ๊ตฌ๋ฅผ ํ๋(๋ฐ์ดํฐ ์ถ๋ ฅ/์ ๊ฑฐ) ๋ฐฉ์์ ๋๋ค(๋จ, ์์น๊ธฐ๋ ์๋ค๊ณ ๊ฐ์ ). ํ ์๋ฃ๊ตฌ์กฐ๋ ์๋ 2๊ฐ์ง ํต์ฌ์ ์ธ ํจ์๋ก ๋์ํฉ๋๋ค. ๋ฐ์ดํฐ ์ฝ์ (append) ๋ฐ์ดํฐ ์ญ์ (popleft) ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ ๋๋ ์ค๋ฒํ๋ก์ฐ(Overflow)์ ์ธ๋ํ๋ก์ฐ(Underflow)๊ฐ ๋ฐ์ํ์ง ์๋๋ก ์ ์ํด์ผ ํฉ๋๋ค..