Alphabet
7:45~8:16
์ํ ๋ถ๋ถ
์
๋ ฅ ํฌ๊ธฐ ์ ํ์ R,C ๋ชจ๋ 20์ด๊ณ , ์ํ๋ฒณ์ ํ๋ฒ๋ง ์ฌ์ฉํด์ผํ๊ธฐ ๋๋ฌธ์ ์
๋ ฅ์ผ๋ก ๋ค์ด์จ map[i][j]์ ์ํ๋ฒณ์ ์ ์๋ก ๋ณํํด์ A(0), B(1), C(2),....T(19) ์ด 20๊ฐ์ ์ํ๋ฒณ์ ์ค๋ณต์ ์ฒดํฌํ๋ boolean ๋ฐฐ์ด์ ๋ง๋ค์ด์ DFS ํ์์ ์งํํ๋ค!
์ํ๋ฒณ์ ์ด 26๊ฐ! ์
๋ ฅํฌ๊ธฐ๊ฐ 20๊ฐ๋ผ๊ณ ํด์ A๋ถํฐ ์์๋๋ก 20๊ฐ์ ์ํ๋ฒณ๋ง ์ฌ์ฉํ๋ ๊ฒ์ ๊ฒฝ๊ธฐ๋ ์ค์ฐ์ด๋ค!!!
map[i][j]์ ์ํ๋ฒณ ๋ฌธ์์์ 65๋ฅผ ๋นผ๋ฉด ๋ฌธ์๊ฐ A์ธ ๊ฒฝ์ฐ 0, B์ธ ๊ฒฝ์ฐ 1, C์ธ ๊ฒฝ์ฐ 2,...์ด๋ ๊ฒ ๋๋ค. ์ด๋ฏธ ์ง๋์น ๋ฌธ์๋ผ๋ฉด alpha ๋ฐฐ์ด์ ํด๋น ์ธ๋ฑ์ค๋ true๋ก ๋์๊ธฐ ๋๋ฌธ์, ๋ค์ ์ขํ๋ก ์ด๋ํ๋ ์ฌ๊ทํจ์ ํธ์ถ ์์ ์ด alpha๋ฐฐ์ด์ ๊ฐ์ด false์ธ์ง ํ์ธํ๊ณ ์งํํด์ฃผ๋ฉด ๋๋ค~!
ํ๋ฆฐ ์ด์ 0 ์ค๋ณต ๋ฐฉ๋ฌธ์ ์ฒดํฌํ๋ 2์ฐจ์ boolean ๋ฐฐ์ด์ ๋ถํ์ํ๋ค! => ์ํ๋ฒณ์ด ์ค๋ณต๋๋์ง ์ฌ๋ถ๊ฐ ๋ค์ ์ขํ๋ก ์ด๋์ ๊ฒฐ์ ํ๋ ์กฐ๊ฑด์ด๊ธฐ ๋๋ฌธ์ด๋ค!
ํ๋ฆฐ ์ด์ 1โญ๏ธโญ๏ธโญ๏ธโญ๏ธโญ๏ธ dfs ํจ์ ๋ฆฌํด ํ์ ์ ์ ์ํ์ผ๋ก ํ๋ค. ํ์ฌ ์ขํ๊ฐ x,y๋ผ๊ณ ํ๋ฉด x,y๊น์ง ์ด๋ฅด๋ ๊ฑฐ๋ฆฌ๋ฅผ ๋งค๊ฐ๋ณ์ ans๋ก 1์ฉ ์ฆ๊ฐํ์ฌ ๋ค์ ์ฌ๊ทํจ์ ํธ์ถ์์ ๋๊ฒจ์ฃผ์๋ค. ํ์ง๋ง ์๊ฐํด๋ณด๋ฉด ์ด ๋ฌธ์ ์์ ๊ตฌํ๊ณ ์ ํ๋ ๊ฒ์ "์ต๋จ ๊ฑฐ๋ฆฌ"๊ฐ ์๋๋ผ "์ต์ฅ ๊ฑฐ๋ฆฌ"์ด๊ธฐ ๋๋ฌธ์ ์ต์ฅ ๊ฑฐ๋ฆฌ๋ 7์ด ๋์๋ค๊ฐ 8์ด ๋์๋ค๊ฐ ํ๋ค. ํ์ฌ (x,y,8)์ด๊ณ ํ์ฌ์์น(x,y)์์ ๋ ์ด๋ํ ์ธ์ ์ขํ๊ฐ ์๋ค๋ฉด ๋ฐฑํด์ผํ๋ค. ๋ฆฌํด๋์ผํ๋ ๋ง์ด๋ค. ๊ทธ๋ฐ๋ฐ ํ์ฌ์ ๋งค๊ฐ๋ณ์์ธ ans๋ฅผ ๋ฆฌํดํด๋ฒ๋ฆฌ๋ฉด ์ด์ ์์น ๋๋ ์์์น๋ก ๋์๊ฐ๋ x,y์ ์ด๋ฅด๋ ๊ฑฐ๋ฆฌ๋ฅผ ๋ปํ๋ ans๋ ํฐ ๊ฐ์ผ๋ก ์ ๋ฐ์ดํธ ๋๋ฒ๋ ค ์ค๋ต์ผ๋ก ์ด๋ฅด๊ฒ ๋๋ค!
์๋ฎฌ๋ ์ด์ ์ ํด๋ณด๋ฉด 1 2 3, ans = 3. ์ด ans(3)๊ฐ์ด (0,0)์์์น๊น์ง ans๋ก ์ ๋ฐ์ดํธ, ๋ฆฌํด๋์ (0,0)์ ๋ค์ ์์ ๋ ๊ฑฐ๋ฆฌ๊ฐ์ 1๋ถํฐ ์์ํ๋ ๊ฒ ์๋๋ผ 3๋ถํฐ ์์ํ๊ฒ ๋๊ณ , (0,0)์์ ๋ค์ ์ต๋๊ฐ์ ๊ฐ์ง๋ ค ํ์์ ํ๋ฉด 3 4 5, ans = 5. ์ด๋ ๊ฒ ๋์ด ans๋ 3์ด ์๋ 5๊ฐ ๋๋ฒ๋ฆฐ๋ค!
๊ทธ๋ฌ๋ฏ๋ก (x,y)์์น์์์ ๊ฑฐ๋ฆฌ๊ฐ์ d๋ผ๊ณ ํ๋ค๋ฉด, ์ฌ๊ทํจ์๋ฅผ ๊ฑฐ๋ญํธ์ถํ๋๋ผ๋ ์ด ๊ฑฐ๋ฆฌ๊ฐ์ ์ ๋ ์๋๋ฉด ์๋๋ค! (์ฌ๊ทํจ์ ํธ์ถํ ๋ ์ ์ธํ๊ณ !)
ํ๋ฆฐ ์ด์ 2 ์์ 1๋ฒ, 2๋ฒ ๊ฐ์ ๊ฒฝ์ฐ๋ ํ๋ฒ์ ์ํ๋ ์ ๋ต์ ์ป์ ์๋ ์๋ค. ํ์ง๋ง ์ ๋ ฅ ํฌ๊ธฐ๊ฐ ์ปค์ง๋ฉด ์ปค์ง ์๋ก, ์ต๋๊ฐ์ ์ฐพ๊ธฐ ์ํ ํ์์ด ๋ณต์กํด์ง๋ค.
Brute Force>์ฌ๊ท ์ ํ์์ x๋ฒ์งธ ์ซ์(๋ฌธ์)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๊ทํจ์๋ฅผ ํธ์ถํ๋ค ๋ฆฌํด๋๊ณ ๋๋ฉด ์ฌ์ฉํ ์ซ์(๋ฌธ์)๋ฅผ false์ฒ๋ฆฌ ํด์ฃผ๋ ๊ฒ์ ๋ดค์ ๊ฒ์ด๋ค. ์ด ๋ฌธ์ ์์๋ ๋ง์ฐฌ๊ฐ์ง๋ก, ๋์ด์ ์งํํ ์ ์์ ๋๊น์ง ํ์์ ์งํํ๊ณ ๋ฆฌํด๋ ๋๋ ๊ทธ ์์น ์ขํ์์ boolean๊ฐ์ ๋ค์ ์๋๋๋ก falseํด์ฃผ์ด์ผํ๋ค!
ํ๋ฆฐ ์ด์ 3 ๊ฑฐ๋ฆฌ ์ต๋๊ฐ ๋น๊ต ๋ถ๋ถ ์์! ๊ฑฐ๋ฆฌ ์ต๋๊ฐ์ 1->2->3->4->5->6->7->8->9๊น์ง ๋๋ค๊ฐ ์ต๋๊ฐ ๊ฐฑ์ ๋ถ๋ถ์ด ์์ผ๋ฉด 9์์ ์์ ๊ฐ์ผ๋ก ๊ฐฑ์ ๋ ์๊ฐ ์๋ค! ๊ทธ๋ฌ๋ฏ๋ก ๊ผญ ๊ผญ ์ต๋๊ฐ์ผ๋ก ๊ฐฑ์ ํ๋ ๋ถ๋ถ์ด ์์ด์ค์ผํ๋ค!!!!!!!
Last updated