ํ์ต ๋ชฉํ
โ
๋ค์ค ์์์ BFS
โ
์ต๋จ๊ฑฐ๋ฆฌ ์์ฉ
BFS ์ฌํ
๋ค์ค ์์์ BFS
- ๊ฐ๋
: ์ผ๋ฐ BFS๋ ๋ณดํต ์์์ ์ด ํ๋์ด์ง๋ง
๋ค์ค ์์์ BFS๋ ์์์ ์ด ์ฌ๋ฌ ๊ฐ์ผ ๋, ๋ชจ๋ ๋์์ ์ถ๋ฐ์ํค๋ ๋ฐฉ์์ด๋ค.
- ๊ตฌํ : ๋จ์ํ ์ฌ๋ฌ๊ฐ์ธ ์์์ ๋ชจ๋๋ฅผ ํ์ ์ง์ด๋ฃ๊ณ ์์ํ๋ฉด ๋๋ค.
- ์ด์ : ๋์์ ์์ํ๊ธฐ ๋๋ฌธ์ ์์์ ์ด ์ฌ๋ฌ๊ฐ ์ผ๋ ๋ชจ๋ ์์์ ์ผ๋ก๋ถํฐ์ ์ต์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๊ธฐ ์ฝ๋ค.
์ต๋จ๊ฑฐ๋ฆฌ ์์ฉ
- ๊ฐ๋
: BFS๋ ๊ฐ์ ๊ฐ์ค์น๊ฐ ๋์ผํ ๋ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๋ณด์ฅํ๋ค. ๋ํ ๋จ์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฟ ์๋๋ผ, ํน์ ๋ ๋ฒจ๊น์ง๋ง ํ์์ด๋ ํ์ํ๋ฉด์ ์ํ(์กฐ๊ฑด)๋ฅผ ํจ๊ป ๊ณ ๋ ค๊ฐ์ ํ์ฅ์ด ๊ฐ๋ฅ
- ๊ฑฐ๋ฆฌ ๊ณ์ฐ :
dist[next] = dist[curr] + 1
๋ก ๊ฑฐ๋ฆฌ ๋ฐฐ์ด์ ๊ด๋ฆฌ
๊ฑฐ๋ฆฌ ๊ณ์ฐ๋ฐฉ๋ฒ
์ ๋ฒ ๋ฏธ๋ก ์ฐพ๊ธฐ ๋ฌธ์ ์์๋ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธ ํ์ ๊ฐ์ด ์ ์ฅํ๋ฉด์ ํ์ฉํ๋ค.
queue.append((i, j, d+1))
๋ง์ฝ ๊ฐ ์ง์ ๋ณ ๊ฑฐ๋ฆฌ๋ฅผ ํ์ฉํด์ผํ๋ค๋ฉด ๋ณ๋์ ๊ฑฐ๋ฆฌ ๋ฐฐ์ด์ ๋ง๋ค์ด์ ์ฌ์ฉํ ์ ์๋ค.
dist[next] = dist[curr] + 1
๋ฌธ์ ํ๊ธฐ
7576 ํ ๋งํ
- ํ์ด ๋งํฌ : ๐ ๊ฐ์ธ ๋
ธ์
๋งํฌ
- ํ์ค ์ ๋ฆฌ : ํ ๋งํ ๊ฐ์๋ฅผ ์ธ์, ํ ๋งํ ๋ฅผ ์ฐพ์๋๋ง๋ค -1 ์ฐ์ฐํด์ฃผ๊ธฐ

1012 ์ ๊ธฐ๋ ๋ฐฐ์ถ
- ํ์ด ๋งํฌ : ๐ ๊ฐ์ธ ๋
ธ์
๋งํฌ
- ํ์ค ์ ๋ฆฌ : ๋ฐฐ์ถ ๋ฐญ ๋ฐฐ์ด์ ๋ณ๋๋ก ๋ง๋ค์ง ์๊ณ ๋ฐ๋ก dict์ผ๋ก ๋ง๋ค์๋ค. ๋ฐฐ์ถ๋ฐญ๋ฐฐ์ด์ ๋ง๋๋ฉด n * m ๋ฐฐ์ด์ ๋ฌด์กฐ๊ฑด ์ํํด์ผํ๋๋ฐ ์ด ์ฝ๋์์๋ ๊ทธ๋ฐ ๋ฐ๋ณต๋ฌธ์ด ๋น ์ ธ์ ์๊ฐ์ด ๋ง์ด ๋จ์ถ๋ ๊ฒ ๊ฐ๋ค !! ^_^ ์ด๋ฒ ๊ธฐํ์ dict๋ ํ๋ฒ ๋ ์ ๋ฆฌํด๋ดฃ์ด์

11724 ์ฐ๊ฒฐ์์์ ๊ฐ์
์ถ๊ฐ ์ ๋ฆฌ) ํ์ด์ฌ dict
d = {"a": 1, "b": 2}
d.get("a", 0)
for k, v in d.items():
...
d.update({"b": 3, "c": 4})
d.pop("a", 0)
d.clear()
d.keys()
d.values()