Welcome! ๐Ÿ™‹โ€โ™‚๏ธ View more

Engineering ๐Ÿ’ป/Algorithm

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Python] ๊ฒฝ์ฃผ๋กœ ๊ฑด์„ค

DeepFlame 2022. 3. 25. 18:30

https://programmers.co.kr/learn/courses/30/lessons/67259

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ฒฝ์ฃผ๋กœ ๊ฑด์„ค

[[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[

programmers.co.kr

 

๐Ÿค” ๋ฌธ์ œ. 

(0,0)์— ์žˆ๋Š” ์ž๋™์ฐจ๊ฐ€ (n-1,n-1)๋กœ ์ด๋™ํ•˜๋Š” ๋ฐ ๋“œ๋Š” ์ตœ์†Œ ๋น„์šฉ์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. 
BFS๋ฌธ์ œ๋กœ ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๋‹ค์ต์ŠคํŠธ๋ผ ๋ฌธ์ œ์ด๋‹ค!

์™œ๋ƒ? ์ž๋™์ฐจ๊ฐ€ ๋‹ค๋ฅธ ์นธ์œผ๋กœ ์ด๋™ํ•  ๋•Œ ๋“œ๋Š” ๋น„์šฉ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜๋กœ ์ด๋™ํ•˜๋˜ ์ž๋™์ฐจ๊ฐ€ ์ขŒ์šฐ๋กœ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฝ”๋„ˆ๋ฅผ ๊ฑด์„คํ•ด์•ผํ•˜๊ณ , ๊ฑด์„คํ•˜๊ณ  ์ด๋™ํ•˜๋Š” ๋น„์šฉ์€ 100+500=600์›์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

 

๐Ÿค” ํ’€์ด.

ํ•˜์ง€๋งŒ ์ด ๋ฌธ์ œ๋Š” ๋‹จ์ˆœ ๋‹ค์ต์ŠคํŠธ๋ผ ๋ฌธ์ œ์™€๋Š” ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค!

์™œ๋ƒํ•˜๋ฉด ์ž๋™์ฐจ๊ฐ€ ํ•ด๋‹น ์นธ์— ์ ‘๊ทผํ•  ๋•Œ, Visit(ํ•ด๋‹น ์นธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ๊ฐ’)์„ ํ™•์ธํ•˜๊ณ  ์›€์ง์ธ๋‹ค. ๊ทผ๋ฐ ๊ทธ๊ฒƒ์ด ์ •๋ง ์ตœ์†Œ ๊ฐ’์ผ๊นŒ? 

๋‹จ์ˆœ ๋‹ค์ต์ŠคํŠธ๋ผ๋กœ ๊ตฌํ˜„์„ ํ–ˆ์„ ๋•Œ (1,1)์˜ ์ƒํ™ฉ์„ ๋ณด์ž

  1. (0,0) > (0,1) > (1,1) : 700์›
  2. (0,0) > (1,0) > (1,1) : 700์› 

๊ฐ™์€ ์นธ์— ๋Œ€ํ•ด์„œ ๊ฐ™์€ ์ตœ์†Œ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋‚˜ํƒ€๋‚œ๋‹ค. ์ด๋Ÿฌ๋ฉด ๋‘ ๊ฐœ์˜ ๊ฒฝ์šฐ ์ค‘ ์–ด๋А ๊ฒฝ์šฐ๋ฅผ ํž™์— ๋„ฃ์„ ๊ฒƒ์ด ์ข‹์„๊นŒ?
๋‚˜์˜ ์ƒ๊ฐ์€ ๋‘ ๊ฐœ ๋‹ค ๋„ฃ๋Š” ๊ฒƒ์ด๋‹ค. 

ํŠน์ • ์นธ์— ๋Œ€ํ•ด์„œ ์ž๋™์ฐจ๊ฐ€ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์€ ๋‘ ๊ฐ€์ง€ ๊ฒฝ์šฐ์ด๋‹ค. (์ขŒ์šฐ์—์„œ ์ ‘๊ทผ or ์ƒํ•˜์—์„œ ์ ‘๊ทผ)
๋”ฐ๋ผ์„œ ์ด ๊ฒฝ์šฐ๋ฅผ ๋‚˜๋ˆ„์–ด Visit1/Visit2์— ์ €์žฅํ•ด์ค€๋‹ค!

 

 

๊ฒฐ๊ณผ