๐Ÿ’12851 ์ˆจ๋ฐ”๊ผญ์งˆ2_์ตœ๋‹จ ๊ฑฐ๋ฆฌ ์นด์šดํŒ… ํ•˜๊ธฐ

phoenixKimยท2022๋…„ 8์›” 26์ผ
0

๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ชฉ๋ก ๋ณด๊ธฐ
84/174

๋ฌธ์ œ ๋ถ„์„ 241101

  • ๊ธฐ์กด์˜ bfs ์ฒ˜๋Ÿผ ์—ฌ๊ธฐ์„œ visit ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ,
    ์™„๋ฃŒ ์ •์  k๊นŒ์ง€๋Š” ๋‹จ ํ•œ๋ฒˆ๋งŒ ๋“ค์–ด์˜ค๊ฒŒ ๋œ๋‹ค.
    ์ด๊ฒƒ์€ ์˜ณ์ง€ ๋ชปํ•˜๋‹ค.

-> ์™œ๋ƒํ•˜๋ฉด for๋ฌธ์— ์ง„์ž…ํ•˜๋Š” ์ˆœ๊ฐ„ ๋™์ผํ•œ ๊ฐ€์ค‘์น˜ 3๊ฐœ์˜ ๊ฐ€๋Š” ๋ฐฉ๋ฒ•์—์„œ๋„ 3๊ฐœ ๋ชจ๋‘๊ฐ€ k๋กœ ๋„๋‹ฌํ•˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ visit ์ฒ˜๋ฆฌ๋ฅผ ๋‹ค๋ฅธ ๊ณณ์—์„œ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฒˆ๋œฉ์—ฌ์•ผ ํ•œ๋‹ค!

  • ์ฃผ์˜ํ•  ์ 
    : 10๋งŒ ๊นŒ์ง€ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค.....
    -> ๋ฌธ์ œ๋ฅผ ์ž˜ ์ฝ๊ณ  ํฌ๊ธฐ ํ• ๋‹นํ•˜์ž...


240117 ์ถ”๊ฐ€

  • ๋ฐฉ๋ฌธ ์ฒดํฌ๋ฅผ ์œ„ํ•œ ๋ถˆ๋ณ€์ˆ˜์™€ ํ˜„์žฌ ๋…ธ๋“œ๋ฒˆํ˜ธ์™€ ๋น„์šฉ์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ•จ.
    vector visited , queue<int node , int cost>

  • ๋ฌธ์ œ์—์„œ ์ตœ์†Œ ์‹œ๊ฐ„๊ณผ ์นด์šดํŒ…์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—
    : ์นด์šดํŒ…์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ญ”๊ฐ€๊ฐ€ ์žˆ์–ด์•ผ ํ•จ.
    : bfs ์ด๊ธฐ ๋•Œ๋ฌธ์— bool visited ํ•„์š”ํ•จ.

  • ์ค‘์š”ํ•จ
    : ๋งŒ์•ฝ์— vector visited ๋ฅผ ํ†ตํ•ด์„œ 0์ด ์•„๋‹Œ ๊ฒฝ์šฐ๋งŒ ์ฒดํฌ๋ฅผ ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ๋˜๋Š”๊ฒŒ , ๋ฌธ์ œ๋Š” ์ตœ์†Œ ์‹œ๊ฐ„์— ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—
    vector visited ๋กœ ์กฐ๊ฑด ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜๋ฉด, ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ์˜ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์—†์Œ.
    -> ๊ธฐ์กด๊ณผ๋Š” ๋‹ค๋ฅธ ์‹œํ€€์Šค๋กœ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผํ•จ!

    • ๋”ฐ๋ผ์„œ ๋ฐ˜๋“œ์‹œ visited ์™€ pair<nodeNum , cost> 2๊ฐœ๋กœ ๋‚˜๋‰˜์–ด์„œ ์ง„ํ–‰ํ•ด์•ผ ํ•จ.

    • ์•„๋‹ˆ๋ฉด cost[์ •์ ๋ฒˆํ˜ธ] ์— ๋Œ€ํ•œ ์นด์šดํŒ…์„ ํ†ตํ•ด์„œ visited[target] ์ด ์ตœ์†Œ ๋น„์šฉ์ธ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ ‘๊ทผํ•˜์ž.

๐Ÿ’ํ•ต์‹ฌ 240118 ์ถ”๊ฐ€ํ•จ.

: ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ์–ด๋””์„œ ํ•  ๊ฒƒ์ด๋ƒ์— ๋Œ€ํ•ด์„œ...

  • ์ฐธ๊ณ  ์‚ฌ์ดํŠธ
    : https://hagisilecoding.tistory.com/104
  • ๊ธฐ์กด์˜ ๋ฐฉ์‹๋Œ€๋กœ for๋ฌธ์—์„œ visited ์ฒดํฌ๋ฅผ ํ•  ๊ฒฝ์šฐ, ์ค‘๋ณต ํƒ€๊ฒŸ ์ •์ ์œผ๋กœ์˜
    queue ์‚ฝ์ž…์€ ๋ถˆ๊ฐ€ํ•จ.
    vector dir {-1,1,2}
    for(int i = 0 i < 3; ++i)
    {
    // ํƒ€๊ฒŸ์ •์  ๋ฐฉ๋ฌธ ์•ˆํ–ˆ์„ ๋•Œ, true ํ•˜๊ฒŒ ๋˜๋ฉด,
    // ๋งŒ์•ฝ์— ์—ฌ๊ธฐ์„œ ๋™์ผํ•œ ์ •์ ์„ ๋™์ผํ•œ ๊ฐ€์ค‘์น˜๋กœ๋„ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์Œ!
    // ์˜ˆ๋ฅผ ๋“ค๋ฉด , 1์—์„œ 4๋กœ ๊ฐ„๋‹ค๊ณ  ํ•˜๋ฉด
    // 1 -> 2(๋”ํ•˜๊ธฐ 1๋ฒˆ ์ธ๋ฑ์Šค ์‚ฌ์šฉ) -> 4
    // 1 -> 2(๊ณฑํ•˜๊ธฐ 2๋ฒˆ ์ธ๋ฑ์Šค ์‚ฌ์šฉ) -> 4
    // ์œ„์˜ 2๊ฐœ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด์„œ ์—ฌ๊ธฐ์„œ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌํ•˜๋ฉด ์•ˆ๋จ.
    }
  • ๋…ผ๋ฆฌ์ ์ธ ์ ‘๊ทผ.
    ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋Š” queue์—์„œ popํ•  ๋•Œ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ž.
    ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด, ์ตœ๋‹จ ์‹œ๊ฐ„์— ์ง„์ž…ํ•˜๊ณ , ๋™์ผํ•œ ๋น„์šฉ์ด ๋‚˜์™”๋‹ค๊ณ  ํ•˜๋Š” ๊ฒƒ์€
    for ๋ฌธ ๋Œ๋•Œ ๋™์ผํ•œ ๊ฐ€์ค‘์น˜๋กœ ๊ฐˆ์ˆ˜ ์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด๋ผ๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—
    for ๋ฌธ์—์„œ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌํ•˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Œ.
profile
๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด