๐Ÿ‘จโ€๐Ÿ’ป Seungineer's GitHub Contribution

๐Ÿงญ KAIST JUNGLE/Algorithm

[SW ์ •๊ธ€ 25์ผ์ฐจ] '์ปดํ“จํŒ… ์‚ฌ๊ณ ๋กœ์˜ ์ „ํ™˜' ๋! โžก๏ธ 'ํƒํ—˜ ์ค€๋น„' ์‹œ์ž‘!

seungineer = seungwoo + engineer 2024. 4. 6. 03:55

Week 1 ~ 3, '์ปดํ“จํŒ… ์‚ฌ๊ณ ๋กœ์˜ ์ „ํ™˜'์ด ๋งˆ๋ฌด๋ฆฌ ๋˜์—ˆ๋‹ค. ๋ฐœ์ œ๋ช…๊ณผ ๊ฐ™์ด ๊ธฐ์กด ์‚ฌ๊ณ  ๋ฐฉ์‹์„ ์ปดํ“จํŒ…๊ณผ ๋™์ผํ•œ ์‚ฌ๊ณ  ๋ฐฉ์‹์œผ๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ™œ์šฉํ•˜์˜€๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒŒ์ด์ฌ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ง ๋‹ค. ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์งœ๋ฉฐ ๋‚ด๊ฐ€ ์‚ฌ๊ณ ํ•˜๋Š” ๋ฐฉ์‹์„ ์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹๋Œ€๋กœ ๋™๊ธฐํ™”ํ•˜๋Š” ์ฃผ์ฐจ์˜€๋‹ค.

3์ฃผ๊ฐ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋“ค์„ ์ปดํ“จํ„ฐ์—๊ฒŒ ํ•ด๊ฒฐ์‹œ์ผœ(?) ๋ณธ ๊ฒฐ๊ณผ ์–ด๋Š์ •๋„ ์‚ฌ๊ณ  ๋ฐฉ์‹์ด ๋™๊ธฐํ™”๊ฐ€ ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค(์•„์ฃผ ์กฐ๊ธˆ). ๋‹ค๋งŒ, ์•„์ง๋„ time, space complexity ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์„ ๋– ์˜ฌ๋ฆฌ์ง€ ๋ชป ํ•˜๊ณ  ์žˆ๋‹ค. ์กฐ๊ธˆ ๋” ๊ณต๋ถ€ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค. ๋˜ํ•œ ๋ฐฑ์ค€์— ์•„์ง ์ ‘๊ทผํ•ด๋ณด์ง€ ๋ชป ํ•œ ๋ฌธ์ œ๋“ค์ด ๋งŽ์ด ๋‚จ์•„ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋“ค์„ ๊ฒฝํ—˜ํ•ด๋ณด๋ฉด์„œ ๋” ๋Šฅ์ˆ™ํ•˜๊ฒŒ ์ปดํ“จํ„ฐ์—๊ฒŒ ์ผ์„ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ์—ฐ์Šตํ•  ๊ฒƒ์ด๋‹ค.

ํ’€์—ˆ๋˜ ์žฌ๊ท€ํ•จ์ˆ˜ ๋ฌธ์ œ์™€ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋ฅผ ChatGPT์—๊ฒŒ ์ถ”์ฒœ ๋ฐ›์•„ ํ’€๊ณ  ๊ธฐ๋ปํ•˜๋ฉฐ ๋™๊ธฐ์—๊ฒŒ ๋ณด๋‚ธ DM, ์ƒ์— ์ฒซ ๊ณจ๋“œ ๋ฌธ์ œ ํ•ด๊ฒฐ์ด์—ˆ๋‹ค ๐Ÿฅน

์–ด๋ ต๊ณ  ์ดํ•ด ์•ˆ ๋˜๋Š” ๋ฌธ์ œ๋“ค์ด ๊ณ ํ†ต์Šค๋Ÿฝ๊ฒŒ ํ–ˆ์ง€๋งŒ, ๋ฟŒ๋“ฏํ•œ ๊ฐ์ •๋„ ๋งŽ์ด ๋Š๊ผˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ๊ฑฐ๋ถ€๊ฐ์ด ์—†์–ด์กŒ๊ณ  ์ปดํ“จํ„ฐ์—๊ฒŒ (๊ฐ„๋‹จํ•œ)์ผ์„ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค๋Š” ์ ์—์„œ 3์ฃผ๊ฐ„์˜ ์‹œ๊ฐ„์ด ํ—›๋˜์ง€ ์•Š๊ฒŒ ๋Š๊ปด์กŒ๋‹ค.


4์ฃผ์ฐจ ๋ฐœ์ œ๋ช…์€ 'ํƒํ—˜ ์ค€๋น„'๋‹ค. PintOS ํ”„๋กœ์ ํŠธ ์ „ ์ค€๋น„ ๋‹จ๊ณ„๋กœ ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น, ํฌ์ธํ„ฐ, ๊ท ํ˜• ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ๋“ฑ์„ ํ•™์Šตํ•œ๋‹ค. ์ด๋•Œ C์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. C์–ธ์–ด๋Š” Python์— ๋น„ํ•ด ๋ฐฐ์šฐ๊ธฐ๊ฐ€ ์–ด๋ ต๊ณ , ์•Œ์•„์•ผํ•  ๊ฒƒ๋„ ๋งŽ์€ ์–ธ์–ด๋กœ ์•Œ๊ณ  ์žˆ๋‹ค. Python ์ฒ˜๋Ÿผ ๋ง‰ ์“ฐ๋ฉด ์•Œ์•„์„œ ์ฒ™์ฒ™ ์ฒ˜๋ฆฌํ•ด์ฃผ๊ณ ... ํ•˜๋Š” ๊ฒŒ ์•ˆ ๋œ๋‹ค!.. ์ด๋ ‡๊ฒŒ ๋ฐฐ์šฐ๊ธฐ ๋ฒˆ๊ฑฐ๋กœ์šด ์˜›(?) ์–ธ์–ด๋ฅผ ์™œ ํ•™์Šตํ•ด์•ผ ํ• ๊นŒ?

๊ตฌ๋…ํ•œ ์ปดํ“จํ„ฐ ๊ด€๋ จ ์œ ํŠœ๋ฒ„์˜ ๊ฒŒ์‹œ๊ธ€์— ์˜ฌ๋ผ์˜จ ๋ฐœํ‘œ ์ œ๋ชฉ '์›น ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋ ค๋Š”๋ฐ C์–ธ์–ด๋ฅผ ๋ฐฐ์šฐ๋ผ๊ตฝ์‡ผ?'

๊ตฌ๋…ํ•œ ์œ ํŠœ๋ฒ„๊ฐ€ ์ธํ”„์ฝ˜ 2024 ๋ฐœํ‘œ ๊ฐ€์ œ๋ฅผ ์ •ํ–ˆ๋‹ค๊ณ  ์˜ฌ๋ฆฐ ๊ฒŒ์‹œ๊ธ€์— '๊ฒฐ๊ตญ CS์ด๋ก ์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ'์„ ๊ฐ•์กฐํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์™œ ์ค‘์š”ํ•œ์ง€์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•˜์ง„ ์•Š์•˜์ง€๋งŒ ์–ด์จŒ๋“  ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ฃผ์žฅํ•œ๋‹ค. ๊ณ ๋“ฑํ•™๊ต ์ˆ˜ํ•™ ๊ณต๋ถ€ํ•  ๋•Œ ์ˆ˜ํ•™ ์‹œํ—˜ ์ค‘ ๊ฐ€์žฅ ์–ด๋ ค์šด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์–‘ํ•œ ์Šคํ‚ฌ์„ ์ตํžˆ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ๊ต๊ณผ์„œ์— ์žˆ๋Š” ์ฆ๋ช…์„ ๋ชจ๋‘ ์†์œผ๋กœ ์ง์ ‘ ํ•ด๋ณด๋ฉด์„œ ์‚ฌ๊ณ ๋ ฅ๊ณผ ์ˆ˜ํ•™ ์ฒด๋ ฅ์„ ํ‚ค์šฐ๋ฉด ๋œ๋‹ค๊ณ  ํ•˜์…จ๋˜ ๊ฐ•์‚ฌ๋‹˜์ด ๊ณ„์…จ๋‹ค. ์ง€๊ธˆ ๋‹น์žฅ ์“ธ๋ชจ ์—†์„ ๊ฒƒ ๊ฐ™์•„ ๋ณด์ด๋Š” ๊ฒŒ ์‚ฌ์‹ค ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ณ  ์“ธ๋ชจ ์žˆ๋‹ค๋Š” ๋œป์ด์…จ๋Š”๋ฐ, C์–ธ์–ด, CS๋„ ๊ทธ๋Ÿฐ ๊ฒŒ ์•„๋‹๊นŒ ์‹ถ๋‹ค. ๊นจ๋‹ซ๊ฒŒ ๋œ๋‹ค๋ฉด ์ข‹๊ฒ ๋‹ค.

 

๊นจ๋‹ซ๊ธฐ ์œ„ํ•ด ์—ด์‹ฌํžˆ ํŒŒ๋ณผ ์ƒ๊ฐ์ด๋‹ค๐Ÿ”ฌ. 


๐Ÿฅ‡๐Ÿฅˆ๐Ÿฅ‰

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€๋Š” ๋งค์ผ ์ตœ์†Œ 1์‹œ๊ฐ„ 30๋ถ„ ๊ณ ์ •์ ์œผ๋กœ ์‹œ๊ฐ„์„ ๋“ค์ผ ์ƒ๊ฐ์ด๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ‘ํ•œ ์ง€ ์–ผ๋งˆ ์•ˆ ๋˜์–ด์„œ ๊ทธ๋Ÿฐ๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ์žฌ๋ฐŒ๋‹ค ๐Ÿค“. ํ˜„์žฌ solved.ac ํ‹ฐ์–ด๋Š” ์‹ค๋ฒ„1์ด๋‹ค. ์ •๊ธ€ ์ˆ˜๋ฃŒ ๋•Œ ์–ด๋Š์ •๋„ ์ˆ˜์ค€์„ ๊ฐ–์ถ”๊ฒŒ ๋ ์ง€ ๋งค์šฐ ๊ธฐ๋Œ€๋œ๋‹ค.

์˜ค๋Š˜ solved.ac ์‚ฌ์ดํŠธ๋ฅผ ๋“ค์—ฌ๋‹ค๋ณด๋ฉด์„œ ์‚ฌ์ดํŠธ ๋Œ€ํ‘œ๊ฐ€ ์ปด๊ณต๊ณผ 18ํ•™๋ฒˆ์ž„์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์œ ์šฉํ•˜๊ณ  ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ์˜ ๋Œ€ํ‘œ๊ฐ€ 20๋Œ€๋ผ๋Š” ์‚ฌ์‹ค์— ๋˜ ํ•œ ๋ฒˆ ์ž๊ทน์„ ๋ฐ›์•˜๋‹ค.

 

๋‚ด์ผ์€ ์˜ค๋Š˜๋ณด๋‹ค ๋” ๋˜‘๋˜‘ํ•ด์งˆ ๊ฑฐ๋‹ค. ๊ฐ€์ฃผ์•„~!