๐ ๋ฌธ์
๐ฑ ์์ด๋์ด
"๊ณ ๋ฏผํด๋ ์ ๋์จ๋ค๋ฉด ๋ต์ง๋ณด๊ณ ๋ด ๊ฒ์ผ๋ก ๋ง๋ค์"
์ด ๋ฌธ์ ๋ ๋ด๊ฐ ์ฌํ๊น์ง ํ์ด์๋ ์๊ณ ๋ฆฌ์ฆ ์ง์ + ๊ธฐ๋ฒ(?)์ผ๋ก ์ด๋ป๊ฒ๋ ํด๊ฒฐํด๋ณด๋ ค๊ณ ํ์ผ๋ ๋ค ์คํจํ๋ค.
์ฐ์ธํดํ๋ฉด์ ๊ฒฐ๊ตญ ๊ฒ์์ ํตํด ์ฝ๋๋ฅผ ๋ดค๋ค.
HashMap์ผ๋ก BFS ๋ฐฉ๋ฌธ์ฒ๋ฆฌ๋ฅผ ํ๋ ์ฝ๋์์ง๋ง ์ ๋ง ํน์ดํ ๋ถ๋ถ์ด ์์๋ค
1์ฐจ์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค(๋ฌธ์์ด)๋ฅผ 2์ฐจ์ ๋ฐฐ์ด๋ก ๋ณ๊ฒฝํด์ ๊ฒฝ๋ก ์ด๋ํ ๋ค์ 1์ฐจ์ ๋ฐฐ์ด(๋ฌธ์์ด)๋ก ๋ณํ ํ
HashMap์ ํตํด ๋ฌธ์์ด์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ด์๋ค
์๋ฅผ ๋ค์ด
๋ฌธ์์ด str = "123456789"
3*3 2์ฐจ์ ๋ฐฐ์ด๋ก ๋ํ๋ผ ๋
1์ฐจ์ ๋ฐฐ์ด -> 2์ฐจ์ ๋ฐฐ์ด
Y = 3 / 3
X = 3 % 3
์ซ์ 4๋
idx ( 1 , 0 )์ ์์นํ๊ฒ ๋๋ค
๋ง์ฝ X ์ถ์ผ๋ก +1์ ํด์ฃผ๊ณ
idx ( 1 , 1 )๋ก ์ด๋ํ๋ค๋ฉด.
๋ค์ 1์ฐจ์ ๋ฐฐ์ด๋ก ๋ณ๊ฒฝํด ๋ณด์!
2์ฐจ์ ๋ฐฐ์ด -> 1์ฐจ์ ๋ฐฐ์ด
idx = 3 * 1 + 1;
str = "123546789"
์ด๋ฐ ๋ฐฉ๋ฒ์ ํตํด ํผ์ฆ์ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ํด์ฌ๋งต์ ๋ฃ๊ณ "1234567890"์ด ์๋์ง ํ๋จ ํ ์ถ๋ ฅํ๋ฉด ๋๋ค.
๐ฑ ์ฝ๋ ๋ฐ ํ์ด
๐ฑ ๋๋ ์
์ด ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ์ด๋ฐ ์์ผ๋ก๋ ๋ฌธ์ ๋ฅผ ์ ๊ทผํ ์ ์๊ตฌ๋๋ฅผ ์๊ฒ ๋์๊ณ ๊ธฐ์กด์ ๋ชป ํ๋ ๋ฌธ์ ๋ฅผ ์์ ๊ฐ์ ์์ด๋์ด์ ์ ๋ชฉํ๋ฉด
ํ ์ ์์ ๊ฒ ๊ฐ๋ค ํนํ 1์ฐจ์ ๋ฐฐ์ด ์ธ๋ฑ์ค๋ฅผ 2์ฐจ์ ๋ฐฐ์ด์ธ๋ฑ์ค๋ก ๋ณํํด์ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์ด ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ ๊ณ
BFS์ ๋ฐฉ๋ฌธ์ฒ๋ฆฌ๋ ํด์ฌ๋งต์ผ๋ก๋ ํ ์ ์๋ค๋ ๊ฒ์ ๋ฐฐ์์ ๋ค๋ฅธ ๋ฌธ์ ์๋ ์ ๋ชฉ์์ผ์ ๋ด ๊ฒ์ผ๋ก ๋ง๋ค์ด์ผ๊ฒ ๋ค.
'Algorithm > - Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] ๋ฐฑ์ค 17299 ์ค๋ฑํฐ์ (JAVA) (0) | 2024.04.01 |
---|---|
[BOJ] ๋ฐฑ์ค 1719 ํ๋ฐฐ (JAVA) (1) | 2024.03.21 |
[BOJ] ๋ฐฑ์ค 1153 ๋ค ๊ฐ์ ์์ (JAVA) (1) | 2024.03.14 |
[BOJ] ๋ฐฑ์ค 10830 ํ๋ ฌ ์ ๊ณฑ (JAVA) (1) | 2024.03.13 |
[BOJ] ๋ฐฑ์ค 6198 ์ฅ์ ์ ์ ๊พธ๋ฏธ๊ธฐ (JAVA) (2) | 2024.03.05 |
๋๋ง์ ๊ฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค!
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!