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

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

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์ฒ˜์Œ์—๋Š” DFS๋กœ ์ ‘๊ทผ์„ ํ–ˆ๋‹ค๊ฐ€ ๊ฒฐ๊ตญ ๋ชป ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ ๊ทธ๋Œ€๋กœ ์ง„ํ–‰ํ–ˆ์–ด๋„ ๊ฐ€์ง€ ์น˜๊ธฐ๋ฅผ ๋ชปํ•ด์„œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚ฌ์„ ๊ฒƒ ๊ฐ™๋„ค์š”. ๊ทธ๋ž˜์„œ BFS๋กœ ์ „๋žต์„ ๋ฐ”๊ฟ” ํ’€๋‹ค ๋ณด๋‹ˆ ์•Œ๊ฒŒ ๋œ ์‚ฌ์‹ค์ธ๋ฐ, ์ œ๊ฐ€ ์„ค๊ณ„๋ฅผ ์กฐ๊ธˆ ์ž˜๋ชปํ–ˆ์—ˆ๋”๋ผ๊ตฌ์š”. ์žฅ์• ๋ฌผ์ด๋‚˜ ๋งจ ๋์— ๋ถ€๋”ชํžŒ ๋นˆ ๊ณต๊ฐ„๋งŒ ๋ฐฉ๋ฌธ ํ‘œ์‹œ๋ฅผ ํ–ˆ์—ˆ์–ด์•ผ ํ–ˆ๋Š”๋ฐ, ์ง€๋‚˜๊ฐ„ ๊ฒฝ๋กœ๋ฅผ ๋‹ค ๋ฐฉ๋ฌธ ํ‘œ์‹œ ํ•ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค..ใ…Žใ…Žใ…Ž ์•„๋ฌดํŠผ, BFS๋ฅผ ํ†ตํ•œ ์ „๋žต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋กœ๋ด‡์˜ ์ฒ˜์Œ ์œ„์น˜ 'R', ๋ชฉํ‘œ ์ง€์  'G'์˜ ์ขŒํ‘œ๋ฅผ ์•Œ์•„๋‚ธ ํ›„ ์ €์žฅํ•ด๋‘”๋‹ค. R์˜ ์ขŒํ‘œ๋ฅผ ๋ฐฉ๋ฌธ..

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

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋‚ด๋ ค๊ฐ€๋Š” ๊ฒŒ ์œ ๋ฆฌํ•œ ์ˆซ์ž : 0, 1, 2, 3, 4 ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒŒ ์œ ๋ฆฌํ•œ ์ˆซ์ž : 6, 7, 8, 9 ์• ๋งคํ•œ ์ˆซ์ž : 5 ์ˆซ์ž 5๊ฐ€ ๋‚˜์™”์„ ๋•Œ์—๋Š” ๋ฐ”๋กœ ์•ž ์ˆซ์ž๋ฅผ ์‚ดํŽด๋ณด๋Š” ๊ฒŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์•ž ์ˆซ์ž๊ฐ€ 5 ์ด์ƒ์ด๋ผ๋ฉด ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒŒ ์œ ๋ฆฌํ•˜๊ณ , 5 ๋ฏธ๋งŒ์ด๋ผ๋ฉด ๋‚ด๋ ค๊ฐ€๋Š” ๊ฒŒ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. # [์˜ˆ์‹œ1] 35 - ์˜ฌ๋ผ๊ฐˆ ๊ฒฝ์šฐ : 35 + 5 -> 40 - 40 => 9๋ฒˆ ์‚ฌ์šฉ - ๋‚ด๋ ค๊ฐˆ ๊ฒฝ์šฐ : 35 - 5 -> 30 - 30 => 8๋ฒˆ ์‚ฌ์šฉ 3์€ 5๋ณด๋‹ค ์ž‘์œผ๋ฏ€๋กœ ๋‚ด๋ ค๊ฐ€๋Š” ๊ฒŒ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค...

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

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

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด [๋Œ€์‹ค ์‹œ์ž‘ ์‹œ๊ฐ, ๋Œ€์‹ค ์ข…๋ฃŒ ์‹œ๊ฐ]์„ ๋ถ„(minute)์œผ๋กœ ํ™˜์‚ฐํ•˜์—ฌ ์ •์ˆ˜๋กœ ์ €์žฅ ex) ["14:30", "15:30"] \(\rightarrow\) [870, 930] ์ €์žฅํ•œ ์˜ˆ์•ฝ ์‹œ๊ฐ„๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ์˜ˆ์•ฝ ์‹œ๊ฐ„๋“ค์„ ์ˆœํšŒ ์‹œ์ž‘ ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ๋ฐฉ๋“ค์„ ์ˆœํšŒํ•˜์—ฌ, ํ•ด๋‹น ๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ€์‹ค ์ด์šฉ ์‹œ๊ฐ„๊ณผ ๋น„๊ต ํ•ด๋‹น ๋ฐฉ์— ์˜ˆ์•ฝ ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉด ์ถ”๊ฐ€ ํ›„, ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ์˜ˆ์•ฝ ์ถ”๊ฐ€๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉด ์ƒˆ๋กœ์šด ๋ฐฉ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฝ์ž… ์ˆœํšŒ๋ฅผ ๋ชจ๋‘ ๋Œ์•˜๋‹ค๋ฉด, ๋ฐฉ ํฌ๊ธฐ ๋ฆฌํ„ด โœ๏ธ์†Œ์Šค ์ฝ”..