๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ4

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ(DP) ์ค‘๋ณต๋˜๋Š” ์—ฐ์‚ฐ์„ ์ค„์ด์ž ์ตœ์ ์˜ ํ•ด๋ฅผ ๊ตฌํ•˜๊ธฐ์— ์‹œ๊ฐ„์ด ๋งค์šฐ ๋งŽ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋งค์šฐ ๋งŽ์ด ํ•„์š”ํ•œ ๋ฌธ์ œ ๋“ฑ์ด ์ปดํ“จํ„ฐ๋กœ๋„ ํ•ด๊ฒฐํ•˜๊ธฐ ์–ด๋ ค์šด ๋ฌธ์ œ์ด๋‹ค. ์ปดํ“จํ„ฐ๋Š” ์—ฐ์‚ฐ ์†๋„์— ํ•œ๊ณ„๊ฐ€ ์žˆ๊ณ , ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์ž‡๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜๋„ ํ•œ์ •์ ์ด๋ผ๋Š” ์ ์ด ๋งŽ์€ ์ œ์•ฝ์„ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. โžก๏ธ ์—ฐ์‚ฐ ์†๋„๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ตœ๋Œ€ํ•œ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํšจ์œจ์  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž‘์„ฑ์˜ ํ•„์š”์„ฑ โฌ†๏ธ ์–ด๋–ค ๋ฌธ์ œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์•ฝ๊ฐ„ ๋” ์‚ฌ์šฉํ•˜๋ฉด ์—ฐ์‚ฐ ์†๋„๋ฅผ ๋น„์•ฝ์ ์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ์ด๋Š” ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์œผ๋กœ ๋™์  ๊ณ„ํš๋ฒ•์ด๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ๋กœ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์ด ์žˆ๋‹ค. ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์€ ์ด์ „ ๋‘ ํ•ญ์˜ ํ•ฉ์„ ํ˜„์žฌ์˜ ํ•ญ์œผ๋กœ ์„ค์ •ํ•˜๋Š” ํŠน์ง•์ด ์žˆ๋Š” ์ˆ˜์—ด์ด๋‹ค. ํ”ผ๋ณด๋‚˜์น˜.. 2023. 11. 28.
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ด์ง„ํƒ์ƒ‰ (๋ฒ”์œ„๊ฐ€ ํฐ ์ˆ˜๋ผ๋ฉด.. ์ด์ง„ํƒ์ƒ‰์ด๋‹ค!) ์ˆœ์ฐจ ํƒ์ƒ‰ ์ˆœ์ฐจ ํƒ์ƒ‰(Sequential Search)์ด๋ž€ ๋ฆฌ์ŠคํŠธ ์•ˆ์— ์žˆ๋Š” ํŠน์ •ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์•ž์—์„œ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ์ฐจ๋ก€๋Œ€๋กœ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ˆœ์ฐจ ํƒ์ƒ‰์€ ์ด๋ฆ„์ฒ˜๋Ÿผ ์ˆœ์ฐจ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰ํ•œ๋‹ค. ์ˆœ์ฐจ ํƒ์ƒ‰์€ ์ •๋ง ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š”๋ฐ, ๋ฆฌ์ŠคํŠธ์— ํŠน์ • ๊ฐ’์˜ ์›์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ์ฒดํฌํ•  ๋•Œ๋„ ์ˆœ์ฐจ ํƒ์ƒ‰์œผ๋กœ ์›์†Œ๋ฅผ ํ™•์ธํ•˜๊ณ , ๋ฆฌ์ŠคํŠธ ์ž๋ น์—์„œ ํŠน์ •ํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์›์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” count() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•  ๋•Œ๋„ ๋‚ด๋ถ€์—์„œ๋Š” ์ˆœ์ฐจ ํƒ์ƒ‰์ด ์ˆ˜ํ–‰๋œ๋‹ค. #์ˆœ์ฐจํƒ์ƒ‰ def sequential_search(n, target, array): #๊ฐ ์›์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ํ™•์ธํ•˜๋ฉฐ for i in range(n): if array[i] == target: return i+1 #ํ˜„์žฌ ์œ„์น˜ ๋ฐ˜ํ™˜(์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ 1 ๋”ํ•˜๊ธฐ) .. 2023. 11. 14.
[์•Œ๊ณ ๋ฆฌ์ฆ˜]๊ตฌํ˜„ ๋จธ๋ฆฟ์†์— ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ •ํ™•ํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ž‘์„ฑํ•˜๊ธฐ ๊ตฌํ˜„ ํ•˜๊ธฐ ๊นŒ๋‹ค๋กœ์šด ๋ฌธ์ œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ„๋‹จํ•œ๋ฐ ์ฝ”๋“œ๊ฐ€ ์ง€๋‚˜์น  ๋งŒํผ ๊ธธ์–ด์ง€๋Š” ๋ฌธ์ œ ํŠน์ • ์†Œ์ˆ˜์  ์ž๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ ํ•œ ๋ฌธ์ž ๋‹จ์œ„๋กœ ๋Š์–ด์„œ ๋ฆฌ์ŠคํŠธ์— ๋„ฃ์–ด์•ผํ•˜๋Š”(ํŒŒ์‹ฑ์„ ํ•ด์•ผ ํ•˜๋Š”) ๋ฌธ์ œ ๋“ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ "๊ตฌํ˜„"์€ ์–ด๋–ป๊ฒŒ ํ’€๋ฉด ๋ ์ง€ ๋Œ€๋žต ๊ฐ์€ ์˜ค๋Š”๋ฐ, ๋ง‰์ƒ ์ฝ”๋“œ๋กœ ์˜ฎ๊ธฐ๋ ค๋‹ˆ ๋ฌด์—‡๋ถ€ํ„ฐ ์ž‘์„ฑํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅผ ์ˆ˜ ์žˆ๋‹ค.. ๋˜ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ๋ฒ•์„ ์ •ํ™•ํ•˜๊ฒŒ ์ˆ™์ง€ํ•˜์ง€ ๋ชปํ–ˆ๊ฑฐ๋‚˜, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ ๊ฒฝํ—˜์ด ๋ถ€์กฑํ•˜๋ฉด ๊ตฌํ˜„ ์œ ํ˜•์˜ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ๋ถˆ๋ฆฌํ•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŒŒ์ด์ฌ์œผ๋กœ ์ฝ”ํ…Œ๋ฅผ ๋ณด๋Š”๋ฐ N๊ฐœ์˜ ์›์†Œ๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์—์„œ R๊ฐœ์˜ ์›์†Œ๋ฅผ ๋ฝ‘์•„ ํ•œ์ค„๋กœ ์„ธ์šฐ๋Š” ๊ฒฝ์šฐ(์ˆœ์—ด)์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋งŒ๋‚˜๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊ฒƒ์ธ๊ฐ€?? ๋ฌด์ž‘์ • ๊ธฐ๋Šฅ์„ ์ „.. 2023. 9. 13.
[๋ธŒ๋ฃจํŠธํฌ์Šค][๋ฐฑ์ค€]1018-์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ ์‹œ๊ฐ„ ์ œํ•œ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์ œ์ถœ์ •๋‹ต๋งžํžŒ ์‚ฌ๋žŒ์ •๋‹ต ๋น„์œจ 2 ์ดˆ 128 MB 103387 51258 41039 49.647% ๋ฌธ์ œ ์ง€๋ฏผ์ด๋Š” ์ž์‹ ์˜ ์ €ํƒ์—์„œ MN๊ฐœ์˜ ๋‹จ์œ„ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋Š” M×N ํฌ๊ธฐ์˜ ๋ณด๋“œ๋ฅผ ์ฐพ์•˜๋‹ค. ์–ด๋–ค ์ •์‚ฌ๊ฐํ˜•์€ ๊ฒ€์€์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๊ณ , ๋‚˜๋จธ์ง€๋Š” ํฐ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๋‹ค. ์ง€๋ฏผ์ด๋Š” ์ด ๋ณด๋“œ๋ฅผ ์ž˜๋ผ์„œ 8×8 ํฌ๊ธฐ์˜ ์ฒด์ŠคํŒ์œผ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์ฒด์ŠคํŒ์€ ๊ฒ€์€์ƒ‰๊ณผ ํฐ์ƒ‰์ด ๋ฒˆ๊ฐˆ์•„์„œ ์น ํ•ด์ ธ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ, ๊ฐ ์นธ์ด ๊ฒ€์€์ƒ‰๊ณผ ํฐ์ƒ‰ ์ค‘ ํ•˜๋‚˜๋กœ ์ƒ‰์น ๋˜์–ด ์žˆ๊ณ , ๋ณ€์„ ๊ณต์œ ํ•˜๋Š” ๋‘ ๊ฐœ์˜ ์‚ฌ๊ฐํ˜•์€ ๋‹ค๋ฅธ ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ์ •์˜๋ฅผ ๋”ฐ๋ฅด๋ฉด ์ฒด์ŠคํŒ์„ ์ƒ‰์น ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋‘ ๊ฐ€์ง€๋ฟ์ด๋‹ค. ํ•˜๋‚˜๋Š” ๋งจ ์™ผ์ชฝ ์œ„ ์นธ์ด ํฐ์ƒ‰์ธ ๊ฒฝ์šฐ, ํ•˜๋‚˜๋Š” ๊ฒ€์€์ƒ‰์ธ ๊ฒฝ์šฐ์ด๋‹ค. ๋ณด๋“œ๊ฐ€ ์ฒด์ŠคํŒ์ฒ˜๋Ÿผ .. 2023. 9. 10.