[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์Šคํ‚ฌํŠธ๋ฆฌ (๋ฐฐ์—ด)

์ด ๊ธ€์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์Šคํ‚ฌํŠธ๋ฆฌ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด๋Š” C++๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ  ํ•จ๊ป˜ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฐœ๋…๋“ค๋„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ ํ•ด๋ณด๋Š” ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์˜คํƒ€๋“ฑ์˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ์‹œ ๋Œ“๊ธ€๋กœ ๊ผญ ๋ง์”€ํ•ด์ฃผ์„ธ์š”! ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ์ฒ˜์Œ์—๋Š” ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ๋ฅผ ์ž˜๋ชป๋ด์„œ ์•„์˜ˆ ์ฝ”๋“œ๋ฅผ ์ž˜๋ชป ์งฐ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์กฐ๊ฑด ์Šคํ‚ฌ์„ ๋‹ค ์จ์•ผ ํ•˜๋Š” ์ค„ ์•Œ์•˜๋Š”๋ฐ ์ˆœ์„œ๋งŒ ๋งž์œผ๋ฉด ๋˜์ง€, ์ˆœ์„œ๊ฐ€ ๋ช…์‹œ๋˜์–ด ์žˆ๋Š” ๋ชจ๋“  ์Šคํ‚ฌ๋“ค์„ ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ํ‹€๋ฆฌ๊ณ  ๋‚˜์„œ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์‹œ ์งœ๊ณ  ๋ง์•˜๋‹ค๋Š”...ใ…Ž ์ด ๋ฌธ์ œ์•ผ ๋ง๋กœ ์‚ฌ๋žŒ๋งˆ๋‹ค ํ‘ธ๋Š” ๋ฐฉ์‹์ด ๋‹ค ๋‹ค๋ฅผ ๊ฒƒ ๊ฐ™์€๋ฐ ์ €๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ํ’€์—ˆ๊ณ  ํ•ด๋‹น ๊ทธ๋ฆผ์€ ๋ฌธ์ œ์— ์˜ˆ์‹œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ, ์•„๋ž˜ ํ’€์ด๋Š” ์Šคํ‚ฌ์ด ์ค‘๋ณต๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œ ํ’€์ด ์ž…๋‹ˆ๋‹ค. ํ’€์ด 1 ๊ทธ๋ฆผ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฉ€์ฉกํ•œ ์‚ฌ๊ฐํ˜• (์ผ์ฐจํ•จ์ˆ˜ & ์ž๋ฃŒํ˜•)

์ด ๊ธ€์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค -๋ฉ€์ฉกํ•œ ์‚ฌ๊ฐํ˜• ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด๋Š” C++๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ  ํ•จ๊ป˜ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฐœ๋…๋“ค๋„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ ํ•ด๋ณด๋Š” ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์˜คํƒ€๋“ฑ์˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ์‹œ ๋Œ“๊ธ€๋กœ ๊ผญ ๋ง์”€ํ•ด์ฃผ์„ธ์š”! ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ์ €๋Š” ๋ฌธ์ œ๋ฅผ ํ’€๊ณ ๋‚˜์„œ ๊ผญ ๊ตฌ๊ธ€์— ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ•œ ๋ฒˆ ๊ฒ€์ƒ‰์„ ํ•ด ๋ด…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๊ฐ€ ๋„์›€์ด ๋œ๋‹ค๊ณ  ํ•ด์„œ ๊ฒ€์ƒ‰์€ ํ•ด๋ณด์ง€๋งŒ ๋‹ค์ˆ˜์™€ ๋‹ค๋ฅด๊ฒŒ ํ’€์—ˆ๋‹ค๋ฉด ๊ณจ์น˜๊ฐ€ ์กฐ๊ธˆ ์•„ํ”•๋‹ˆ๋‹ค. ๋Œ€์ค‘์ ์ธ ํ’€์ด(?)๊ฐ€ ๋” ํšจ์œจ์„ฑ์ด ์ข‹์€๊ฑด๊ฐ€... ํ•˜๊ณ  ํšจ์œจ์„ฑ๋„ ๋”ฐ์ ธ์•ผ ํ•˜๊ณ ... ์•„์ง ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ ํšจ์œจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ•ด๋ณด์ง€๋Š” ์•Š์•˜์ง€๋งŒ ์ด ๊ธ€ ์“ฐ๊ณ  ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ๋งŽ์ด ์“ฐ์‹œ๋Š” ๋ฐฉ๋ฒ•์ด gcd (์ตœ๋Œ€๊ณต์•ฝ์ˆ˜)๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋˜๋ฐ ์•„์ง ์ฐฌ์ฐฌํžˆ ์‚ดํŽด๋ณด์ง€ ์•Š์•„ ์–ด๋–ค ๋งฅ๋ฝ์—..

[๊ฐœ๋…] BFS & DFS

์ด ๊ธ€์€ BFS์™€ DFS์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ต์ˆ™ํ•œ ๊ฐœ๋…์ผํ…๋ฐ์š”, BFS๋Š” ๋„“์ด ์šฐ์„  ํƒ์ƒ‰์œผ๋กœ breadth first search์ด๊ณ , DFS๋Š” ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์œผ๋กœ depth first search ์ž…๋‹ˆ๋‹ค. ์ „์ฒด์ ์ธ ๋‚ด์šฉ์€ Cracking the Coding Interview ์„œ์  ๊ธฐ๋ฐ˜, Geeks for geeks ํ™ˆํŽ˜์ด์ง€๋ฅผ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์ •๋ฆฌํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ์‹œ ๋Œ“๊ธ€๋กœ ๊ผญ ๋ง์”€ํ•ด์ฃผ์„ธ์š”! ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ๊ทธ๋ž˜ํ”„๋ฅผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ PS๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ์ด ๊ธ€์„ ๋ณด๊ณ  ๊ณ„์‹œ๋‹ค๋ฉด ๊ทธ๋ž˜ํ”„์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ผ๋ฐ˜ ๋ฌธ์ œ๋ฅผ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ชจ๋ธ๋งํ•ด์„œ ํ’€์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ์š”? ๊ทธ ์ „์— ๊ฐœ๋…๋ถ€ํ„ฐ ์žก๊ณ  ๊ฐ‘์‹œ๋‹ค! ๊ทธ๋ž˜ํ”„์™€ ๊ทธ๋ž˜ํ”„ ํ‘œํ˜„ ๊ทธ๋ž˜ํ”„๋„ ์ž๋ฃŒ๊ตฌ์กฐ ..

[C++] Array ์™€ Vector ํ•œ ๋ฐฉ์— ๋น„๊ตํ•˜๊ธฐ

์ด ๊ธ€์€ Vector์™€ Array ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ „์ฒด์ ์ธ ๋‚ด์šฉ์€ eduCBA, cplusplus.com ๋“ฑ์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์ •๋ฆฌํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ์‹œ ๋Œ“๊ธ€๋กœ ๊ผญ ๋ง์”€ํ•ด์ฃผ์„ธ์š”! ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๋ณด๋ฉด ๋™์ ์œผ๋กœ ์›์†Œ๋“ค์„ ๋„ฃ์—ˆ๋‹ค ๋บ๋‹ค ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋–„๋ฌธ์— ๊ฑฐ์˜ ๋ฌด์กฐ๊ฑด์ ์œผ๋กœ vector๋ฅผ ์“ฐ๊ณค ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์ƒ๊ฐํ•ด ๋ณด๋ฉด ๋ฐฐ์—ด์„ ๋˜ ์•„์ฃผ ์“ฐ์ง€ ์•Š๋Š” ๊ฒƒ์€ ๋˜ ์•„๋‹™๋‹ˆ๋‹ค. ๋Œ€ํ•™๊ต์—์„œ ์‹œํ—˜์„ ๋ณด๊ธฐ ์œ„ํ•ด์„œ ๊ณต๋ถ€ ํ•˜๋˜ ๋‹น์‹œ vector๋Š” ์ž๋ฃŒ ์ ‘๊ทผ์„ ์ž์ฃผ ํ•  ๋•Œ ์“ฐ์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ–ˆ๋˜ ๊ธฐ์–ต์ด ์•„์ฃผ ์–ด๋ ดํ’‹์ด ์žˆ๋Š”๋ฐ ๊ทธ๋ž˜๋„ ๋šœ๋ ทํ•œ ๊ตฌ๋ถ„์„ ํ•  ํ•„์š”์„ฑ์€ ๋Š๋‚๋‹ˆ๋‹ค. (์‚ฌ์‹ค ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ์ด ๋ชจ์˜๊ณ ์‚ฌ ๋ฌธ์ œ๋Š” ๋ฐฐ์—ด๋กœ ํ’€์—ˆ์–ด๋„ ํฐ ๋ฌด๋ฆฌ๋Š” ์—†์—ˆ์„ ..