๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”ฅ PS(Problem Solving) ๐Ÿ”ฅ/programmers

[programmers] ์Šคํƒํ, ๋‹ค๋ฆฌ๋ฅผ ์ง€๋‚˜๋Š” ํŠธ๋Ÿญ

by dar0m! 2020. 7. 3.

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋‹ค๋ฆฌ๋ฅผ ์ง€๋‚˜๋Š” ํŠธ๋Ÿญ

ํŠธ๋Ÿญ ์—ฌ๋Ÿฌ ๋Œ€๊ฐ€ ๊ฐ•์„ ๊ฐ€๋กœ์ง€๋ฅด๋Š” ์ผ ์ฐจ์„  ๋‹ค๋ฆฌ๋ฅผ ์ •ํ•ด์ง„ ์ˆœ์œผ๋กœ ๊ฑด๋„ˆ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํŠธ๋Ÿญ์ด ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๋ ค๋ฉด ์ตœ์†Œ ๋ช‡ ์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๋Š”์ง€ ์•Œ์•„๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋Ÿญ์€ 1์ดˆ์— 1๋งŒํผ ์›€์ง์ด๋ฉฐ, ๋‹ค๋ฆฌ ๊ธธ์ด๏ฟฝ๏ฟฝ

programmers.co.kr

 

๋ฌธ์ œ

์ผ ์ฐจ์„  ๋‹ค๋ฆฌ๋ฅผ ํŠธ๋Ÿญ์ด ์ •ํ•ด์ง„ ์ˆœ์„œ๋Œ€๋กœ ๊ฑด๋„ˆ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋Ÿญ์€ 1์ดˆ์— 1๋งŒํผ ์›€์ง์ด๋ฉฐ, ๋‹ค๋ฆฌ ๊ธธ์ด๋Š”  bridge_length์ด๊ณ  ๋‹ค๋ฆฌ๋Š” ๋ฌด๊ฒŒ weight๊นŒ์ง€ ๊ฒฌ๋”ฅ๋‹ˆ๋‹ค.

๋ชจ๋“  ํŠธ๋Ÿญ์ด ๋‹ค๋ฆฌ๋ฅผ ์ง€๋‚˜๋ ค๋ฉด ์ตœ์†Œ ๋ช‡ ์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๋Š”์ง€ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”.

 

ํ•ด๊ฒฐ

key point, ํ ํ™œ์šฉํ•˜๊ธฐ
  • ๋‹ค๋ฆฌ์— ์˜ฌ๋ผ๊ฐ„ ํŠธ๋Ÿญ์€ ํ์— ๋„ฃ๊ณ ,
  • ํ์— ๋„ฃ์—ˆ์„ ๋•Œ์˜ ์‹œ๊ฐ„๊ณผ ํ˜„์žฌ ์‹œ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ๋‹ค๋ฆฌ ๊ธธ์ด๋งŒํผ ๋‚˜๋ฉด
  • ๋‹ค๋ฆฌ๋ฅผ ๋ชจ๋‘ ๊ฑด๋„Œ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•˜๊ณ  ํ์—์„œ ์‚ญ์ œํ•œ๋‹ค.
  1. ํŠธ๋Ÿญ์˜ ๊ฐœ์ˆ˜๋งŒํผ for ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉด์„œ, ํŠธ๋Ÿญ์„ ๋‹ค๋ฆฌ์— ์˜ฌ๋ฆด ๋•Œ ๊นŒ์ง€ while ๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐ˜๋ณตํ•œ๋‹ค. 
  2. ๋‹ค๋ฆฌ์— ํŠธ๋Ÿญ์„ ์˜ฌ๋ฆฌ๊ธฐ ์ „์— ๋‹ค๋ฆฌ๋ฅผ ๋ชจ๋‘ ๊ฑด๋„Œ ํŠธ๋Ÿญ์ด ์žˆ๋‹ค๋ฉด ๋จผ์ € ํ์—์„œ ์‚ญ์ œํ•œ๋‹ค.
  3. ๋‹ค๋ฆฌ์— ํŠธ๋Ÿญ์„ ์˜ฌ๋ฆด ์ˆ˜
    1. ์žˆ๋‹ค๋ฉด ํ์— ๋„ฃ๊ณ  while๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•˜๊ณ , 
    2. ์—†๋‹ค๋ฉด ์‹œ๊ฐ„๋งŒ ์ฆ๊ฐ€์‹œํ‚ค๊ณ  ๋ฐ˜๋ณต๋ฌธ์„ ๊ณ„์†ํ•ด์„œ ์ง„ํ–‰ํ•œ๋‹ค. → sec++
  4. ๋งˆ์ง€๋ง‰ ํŠธ๋Ÿญ๊นŒ์ง€ ํ์— ๋„ฃ๊ณ  ๋‚˜์„œ๋Š” ๋ชจ๋“  ๋ฐ˜๋ณต๋ฌธ์ด ๋๋‚˜๊ฒŒ ๋˜๊ณ 
  5. ์ด ๋•Œ๊นŒ์ง€ ์ธก์ •ํ–ˆ๋˜ sec๊ณผ ๋งˆ์ง€๋ง‰ ํŠธ๋Ÿญ์ด ๋‹ค๋ฆฌ๋ฅผ ์ง€๋‚˜๋Š” ์‹œ๊ฐ„(bridge_length)๋ฅผ ๋”ํ•œ ๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค.

 

์ฝ”๋“œ

๋Œ“๊ธ€