๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“– Problem Solution/Programmers

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2018 Summer/Winter Coding ๋ฐฐ๋‹ฌ

by Fomagran ๐Ÿ’ป 2021. 5. 21.
728x90
๋ฐ˜์‘ํ˜•

 

Problem

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ฐฐ๋‹ฌ

5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4

programmers.co.kr


Solution

 

ํ•ด๋‹น ๋ฌธ์ œ๋Š” ํ•œ ์ •์ ์—์„œ์˜ ๊ฑฐ๋ฆฌ๋งŒ ๊ตฌํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋‹ค.

 

(ํ”Œ๋กœ์ด๋“œ๋กœ ํ’€๋ฉด ํšจ์œจ์ ์ด์ง„ ์•Š์ง€๋งŒ ํ’€๋ฆฌ๊ธด ํ’€๋ฆฐ๋‹ค...)

 

๋‹ค์ต์ŠคํŠธ๋ผ ํ’€์ด

 

1.๋ชจ๋“  ๊ฑฐ๋ฆฌ๋ฅผ ์ €์žฅํ•  ์ด์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์คŒ.

 

(allDistances ๋ณ€์ˆ˜๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!)

 

2.๋‹ค์ต์ŠคํŠธ๋ผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ •์ ์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ์•„์คŒ.

 

(dijkstra ํ•จ์ˆ˜๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!)

 

4.1๊ณผ ์—ฐ๊ฒฐ๋œ ์ •์  ์ค‘ ์ฃผ์–ด์ง„ ์‹œ๊ฐ„ ์ดํ•˜์ธ ๊ฒƒ์„ ์ฐพ์Œ

 

(findEnableDelivery ํ•จ์ˆ˜๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!)


ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ ํ’€์ด

 

1.๋ชจ๋“  ๊ฑฐ๋ฆฌ๋ฅผ ์ €์žฅํ•  ์ด์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์คŒ.

 

(allDistances ๋ณ€์ˆ˜๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!)

 

2. road์— ์žˆ๋Š” ์ •๋ณด๋ฅผ allDistances์— ๋„ฃ์–ด์คŒ

 

(setConnections ํ•จ์ˆ˜๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!)

 

3.floyd warshall๋กœ ๊ฐ ์ •์ ์—์„œ ๊ฐ€์žฅ ์งง์€ ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ์Œ

 

(floyd ํ•จ์ˆ˜๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!)

 

4.1๊ณผ ์—ฐ๊ฒฐ๋œ ์ •์  ์ค‘ ์ฃผ์–ด์ง„ ์‹œ๊ฐ„ ์ดํ•˜์ธ ๊ฒƒ์„ ์ฐพ์Œ

 

(findEnableDelivery ํ•จ์ˆ˜๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!)


Source Code

 

๋‹ค์ต์ŠคํŠธ๋ผ ํ’€์ด

 

 

ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ ํ’€์ด

 

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€