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

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

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. 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] ์ €์žฅํ•œ ์˜ˆ์•ฝ ์‹œ๊ฐ„๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ์˜ˆ์•ฝ ์‹œ๊ฐ„๋“ค์„ ์ˆœํšŒ ์‹œ์ž‘ ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ๋ฐฉ๋“ค์„ ์ˆœํšŒํ•˜์—ฌ, ํ•ด๋‹น ๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ€์‹ค ์ด์šฉ ์‹œ๊ฐ„๊ณผ ๋น„๊ต ํ•ด๋‹น ๋ฐฉ์— ์˜ˆ์•ฝ ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉด ์ถ”๊ฐ€ ํ›„, ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ์˜ˆ์•ฝ ์ถ”๊ฐ€๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉด ์ƒˆ๋กœ์šด ๋ฐฉ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฝ์ž… ์ˆœํšŒ๋ฅผ ๋ชจ๋‘ ๋Œ์•˜๋‹ค๋ฉด, ๋ฐฉ ํฌ๊ธฐ ๋ฆฌํ„ด โœ๏ธ์†Œ์Šค ์ฝ”..

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