๐Ÿค–Algorithm/Programmers ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

ํ•ด๋‹น ๊ธ€ 62๊ฑด

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿง‘๐Ÿป‍๐Ÿ’ป ํ’€์ด ๊ณผ์ • [1์ฐจ ์‹œ๋„] ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (์‹คํŒจ) ์ถœ๋ฐœ์ง€(s)๋กœ๋ถ€ํ„ฐ ๊ฐ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ ๋ฐฐ์—ด์„ ๊ตฌํ•ด๋†“๊ณ , ๊ฐ ๋…ธ๋“œ(i)๋งˆ๋‹ค ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋Œ๋ ค์„œ s๐Ÿ‘‰๐Ÿปi + i๐Ÿ‘‰๐Ÿปa + i๐Ÿ‘‰๐Ÿปb ๊ฐ’๋“ค ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜(N)๊ฐ€ ์ตœ๋Œ€ 200๊ฐœ๋ผ ๋  ์ค„ ์•Œ์•˜๋Š”๋ฐ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ์—์„œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚˜๋”๊ตฐ์š”. [2์ฐจ ์‹œ๋„] ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (์„ฑ๊ณต) ๋งค ๋…ธ๋“œ๋งˆ๋‹ค ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋Œ๋ฆฐ ๊ฒƒ์ด ์›์ธ์ด๋ผ ์ƒ๊ฐ๋˜์–ด, ๋ชจ๋“  ๋…ธ๋“œ ๊ฐ„์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š”..

๐Ÿค–Algorithm/Programmers 2024. 1. 16. 16:58

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿง‘‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชฉ์ ์ง€(Destination)๋ฅผ ์‹œ์ž‘์ ์œผ๋กœ ํ•˜์—ฌ ๊ฐ ์ง€์—ญ์— ๋Œ€ํ•œ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ๋ฐฐ์—ด์„ ๊ตฌํ•˜๊ณ , ์ถœ๋ฐœ์ง€(source)๋“ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’๋“ค์„ answer ๋ฐฐ์—ด์— ๋‹ด์•„์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์–ด๋–ค ์ถœ๋ฐœ์ง€์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ๊ฐ’์ด ์ดˆ๊นƒ๊ฐ’๊ณผ ๊ฐ™๋‹ค๋ฉด, ๊ทธ ์ง€์—ญ์€ ๋ชป ๊ฐ„๋‹ค๋Š” ์˜๋ฏธ์ด๋ฏ€๋กœ -1์„ ๋‹ด์•„์ฃผ๋ฉด ๋˜๊ตฌ์š”. ๋˜ํ•œ, ๋ชจ๋“  ์ง€์—ญ ๊ฐ„์˜ ์ด๋™ ๋น„์šฉ์ด 1์ด๋ฏ€๋กœ, ์šฐ์„ ์ˆœ์œ„ ํ ๋Œ€์‹  ์ผ๋ฐ˜ ํ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹œ๊ฐ„์„ ์ค„์˜€์Šต๋‹ˆ๋‹ค. โœ๏ธ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include #include ..

๐Ÿค–Algorithm/Programmers 2024. 1. 13. 11:27

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์ œ ๋ฌธ์žฅ ๋…ํ•ด๋ ฅ์— ํ•˜์ž๊ฐ€ ์žˆ๋Š”๊ฑด์ง„ ๋ชฐ๋ผ๋„, ์ฒ˜์Œ์— ๋ฌธ์ œ ์ฝ๊ณ  ๋ฌด์Šจ ์†Œ๋ฆฌ์ง€ ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ต์‹ฌ์€ ์…”ํ‹€ ๋ฒ„์Šค ์šดํ–‰ ํšŸ์ˆ˜์ธ \(n\) ๋ฒˆ ๋‚ด์— ์‚ฌ๋ฌด์‹ค์— ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋Šฆ์€ ์‹œ๊ฐ„์„ ๊ณ ๋ฅด๋Š” ๊ฒƒ์ด์—ˆ๋„ค์š”. ๋‹จ์ˆœ ๊ตฌํ˜„ ๋ฌธ์ œ์ด๊ธด ํ•œ๋ฐ, ์‹œ๊ฐ„๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋Š” ํ•ญ์ƒ ๊ณ„์‚ฐ ๋ถ€๋ถ„์—์„œ ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์—ฌ์•ผ ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ผ๋‹จ์€ ๊ณ„์‚ฐํ•˜๊ธฐ ์‰ฝ๊ฒŒ, string์„ int๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์„ ๋จผ์ € ํ•ด๋ณด์ฃ . 1. String ๐Ÿ‘‰๐Ÿป Int๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ ์ž‘์„ฑ ์ฃผ์–ด์ง€๋Š” ์‹œ๊ฐ„์€ "HH:MM" ํ˜•ํƒœ๋ฅผ ๋„๊ณ  ์žˆ๋‹ค๊ณ  ๋ฌธ์ œ..

๐Ÿค–Algorithm/Programmers 2023. 11. 18. 00:10

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿง‘‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๐Ÿ”—์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ(MST, Minimum Spanning Tree)๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ณผ์ •์—์„œ ํฌ๋ฃจ์Šค์นผ(Kruskal) ๋˜๋Š” ํ”„๋ฆผ(Prim)์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ์ €๋Š” ํฌ๋ฃจ์Šค์นผ(Kruskal)์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ ์žฅ ํŠธ๋ฆฌ์˜ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋กœ ์‚ฌ์ดํด์ด ์žˆ์œผ๋ฉด ์•ˆ๋œ๋‹ค๊ฐ€ ์žˆ๋Š”๋ฐ, ๋ถ„๋ฆฌ ์ง‘ํ•ฉ(Disjoint set)์˜ ๊ฐœ๋…์ธ ๐Ÿ”—์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ(Union Find)๋ผ ๋ถˆ๋ฆฌ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ์‰ฝ๊ฒŒ ์ ๊ฒ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธฐํšŒ์— ๊ณต๋ถ€ํ•˜์—ฌ ๊ฐœ๋…์„ ..

๐Ÿค–Algorithm/Programmers 2023. 10. 22. 16:40

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿง‘‍๐Ÿ’ป ํ’€์ด ๊ณผ์ • ์ฒ˜์Œ์—” ๋‹ค์ต์ŠคํŠธ๋ผ(Dijkstra) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋จผ์ € ๋– ์˜ฌ๋ ธ๋Š”๋ฐ, BFS๋กœ๋„ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๊ฒ ๋‹จ ์ƒ๊ฐ์ด ๋“ค์–ด BFS๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ–‰ ๋ฒˆํ˜ธ๋Š” ๋…ธ๋“œ์˜ ๋ฒˆํ˜ธ, ์—ด ๋ฒˆํ˜ธ๋Š” ํ–‰ ๋ฒˆํ˜ธ ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ๋œ ๋‹ค๋ฅธ ๋…ธ๋“œ๋“ค์˜ ๋ฒˆํ˜ธ๋กœ ์ด๋ฃจ์–ด์ง„ 2์ฐจ์› ๋ฐฐ์—ด์„ ์„ ์–ธํ•œ๋‹ค. 1๋ฒˆ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ ํ›„ Queue์— ๋„ฃ๊ณ , BFS ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•œ๋‹ค. Queue์—์„œ ๋…ธ๋“œ(source)๋ฅผ ๊บผ๋‚ธ ํ›„, ํ•ด๋‹น ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ๋œ ๋‹ค๋ฅธ ๋…ธ๋“œ๋“ค์„ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ ํ›„ Queue์— ๋„ฃ๋Š”๋‹ค. ์ด ๋•Œ, sour..

๐Ÿค–Algorithm/Programmers 2023. 10. 22. 14:46

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿง‘‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋ฌธ์ œ๋ฅผ ๋ณด์ž๋งˆ์ž ์–‘ ์ชฝ์— ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ณ€์ˆ˜ 2๊ฐœ๋ฅผ ๋‘๊ณ  ๊ตฌ๊ฐ„์„ ์ค„์—ฌ๊ฐ€๋ฉฐ ๊ตฌํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์ด๊ฒŒ ํˆฌ ํฌ์ธํ„ฐ(Two pointer) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋”๊ตฐ์š”. ๋ชฐ๋ž์ง€๋งŒ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค..? ํ’€์ด ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. gems ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ๋ณด์„์˜ ์ข…๋ฅ˜ ๊ฐœ์ˆ˜๋ฅผ ์•Œ์•„๋‚ธ๋‹ค. ์‹œ์ž‘ ์ธ๋ฑ์Šค(start)์™€ ๋ ์ธ๋ฑ์Šค(end) ๋ณ€์ˆ˜๋ฅผ ๊ฐ๊ฐ 0์œผ๋กœ ๋‘๊ณ , ๋ณด์„์˜ ์ข…๋ฅ˜ ๊ฐœ์ˆ˜๋ฅผ ๋‹ค ํฌํ•จํ•˜๋Š” ๊ตฌ๊ฐ„์ด ๋  ๋•Œ๊นŒ์ง€ end๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ๋ณด์„์˜ ์ข…๋ฅ˜๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ๊ตฌ๊ฐ„๊นŒ์ง€..

๐Ÿค–Algorithm/Programmers 2023. 10. 22. 12:12