๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กํ”„๋กœ๊ทธ๋ž˜๋ฐ (39)

JiYoung Dev ๐Ÿ–ฅ

CSS ํ•ต์‹ฌ ๊ฐœ๋…

2023.03.01 ~ 2023.03.03 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž CSS ๊ทœ์น™ HTMLํƒœ๊ทธ์— ์Šคํƒ€์ผ ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์Šคํƒ€์ผ์„ ์ž…ํž ์ˆ˜ ์žˆ์—ˆ์Œ. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฐฉ๋ฒ•์€ ๋™์ผํ•œ ์†์„ฑ์„ ์ฃผ๊ณ  ์‹ถ์€ ํƒœ๊ทธ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๋•Œ ์Šคํƒ€์ผ์„ ์ž…ํžˆ๋Š” ๊ฒŒ ๋ฒˆ๊ฑฐ๋กœ์›Œ์ง. ๋”ฐ๋ผ์„œ ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ(seperation of concerns)๋ฅผ ์ง„ํ–‰ํ•จ. ์ฆ‰, ๋‚ด์šฉ๊ณผ ์Šคํƒ€์ผ์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ. ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ๋‚ด์šฉ๊ณผ ์Šคํƒ€์ผ์„ ๋”ฐ๋กœ ๊ณ ์น˜๊ธฐ ํŽธํ•˜๊ณ , CSS ํŒŒ์ผ์„ ๋”ฐ๋กœ ์ €์žฅํ•˜๊ธฐ ํŽธํ•จ. ๋”ฐ๋ผ์„œ CSS ์†์„ฑ์„ ํ•˜๋‚˜ํ•˜๋‚˜ ํƒœ๊ทธ์— ๋„ฃ๊ธฐ๋ณด๋‹ค๋Š” CSS ๊ทœ์น™์„ ์ •ํ•ด ๋†“๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•จ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•: ์„ ํƒ์ž { ์†์„ฑ: ์†์„ฑ๊ฐ’; ์†์„ฑ: ์†์„ฑ๊ฐ’; } ์ž‘์„ฑ ์˜ˆ: h3 { color: #ffffff; font-size: 20px } ๐Ÿ”Ž CSS ์„ ํƒ์ž ๊ทœ์น™์—์„œ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜..

full stack/HTML, CSS 2023. 3. 3. 17:41
[์šด๋™ ๊ธฐ๋ก ์›นํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ] html ๊ธฐ๋ณธ ํ‹€ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ (2023.03.02)

์–ด์ œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์Šคํ† ๋ฆฌ๋ณด๋“œ๋ฅผ ๋งŒ๋“ค์—ˆ๊ณ , ์˜ค๋Š˜์€ ๋งŒ๋“  ์Šคํ† ๋ฆฌ๋ณด๋“œ๋ฅผ ๋ณด๋ฉด์„œ HTML ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์•˜๋‹ค. ์•„์ง HTML ๊ธฐ์ดˆ ๊ณผ์ •๋งŒ ๋ฐฐ์šดํ„ฐ๋ผ ๋ฒ„ํŠผ์ด๋‚˜ ์ธํ’‹, ํ…Œ์ด๋ธ” ๋“ฑ ์•ˆ๋ฐฐ์šด ๊ฒƒ๋“ค์ด ์žˆ์—ˆ์ง€๋งŒ ์•ˆ๋ฐฐ์šด ๋‚ด์šฉ๋“ค์€ ๊ตฌ๊ธ€๋ง์ด๋‚˜ ๊ธฐํƒ€ ์‚ฌ์ดํŠธ์˜ ๊ฐœ๋ฐœ์ž ์ฝ˜์†”์„ ํ™œ์šฉํ•ด ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผํ•˜๋ฉฐ ๋„ฃ์—ˆ์œผ๋ฉฐ ์•ž์œผ๋กœ ๋ฐฐ์›Œ๋‚˜๊ฐ€๋ฉด์„œ ์ฐจ์ฐจ ์•Œ๋งž๊ฒŒ ์ˆ˜์ •ํ•˜๊ณ ์ž ํ•œ๋‹ค. ์˜ค๋Š˜๊นŒ์ง€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋Š” ์Šคํƒ€์ผ์€ ํ•˜๋‚˜๋„ ๋“ค์–ด๊ฐ€ ์žˆ์ง€ ์•Š์€ ์ฝ”๋“œ์ด๋ฉฐ, ์Šคํƒ€์ผ์€ ๋‚ด์ผ ์ ์šฉํ•ด๋ณผ ๊ณ„ํš์ด๋‹ค. ์šด๋™ ๊ธฐ๋ก ์›นํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ : ๊ธฐํš ํฌ์ŠคํŒ… [์šด๋™ ๊ธฐ๋ก ์›นํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ] ๊ธฐํš (2023.03.01) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ๋‚˜์„œ ๋งŒ๋“œ๋Š” ๋‚˜์˜ ์ฒซ ์›นํŽ˜์ด์ง€. ์‚ฌ์‹ค ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ•์˜๋ฅผ ๋“ฃ๋‹ค๊ฐ€ ์–ด๋ ต๊ธฐ๋„ ํ•˜๊ณ  ํฅ๋ฏธ๋„ ์ค„์–ด๋“ค๊ณ  ๊ทธ๋ž˜์„œ CSS์™€ HTML ๊ณต๋ถ€๋ฅผ ๊ฐ™์ด ์‹œ์ž‘ํ•˜๋ฉฐ ๋‚˜๋งŒ์˜ ์›นํŽ˜..

project 2023. 3. 2. 15:04
[ํŒŒ์ด์ฌ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ : ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ Greedy Algorithm

2023.03.01 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm) greedy๋Š” ํƒ์š•์ด๋ผ๋Š” ๋œป. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm)์€ ๋ฏธ๋ž˜๋ฅผ ๋‚ด๋‹ค๋ณด์ง€ ์•Š๊ณ , ๋‹น์žฅ ๋ˆˆ์•ž์— ๋ณด์ด๋Š” ์ตœ์ ์˜ ์„ ํƒ์„ ํ•˜๋Š” ๋ฐฉ์‹ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ„๋‹จํ•˜๊ณ  ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์œผ๋‚˜ ์ˆœ๊ฐ„๋งˆ๋‹ค ์ตœ์ ์˜ ์„ ํƒ์„ ํ•˜๋Š” ๊ฒฝ์šฐ ๊ทธ ์ˆœ๊ฐ„์— ๋Œ€ํ•ด์„œ๋Š” ์ตœ์ ์ด์ง€๋งŒ, ์ตœ์ข…์ ์ธ ๋‹ต์„ ๋งŒ๋“ค์—ˆ์„ ๋•Œ์—๋Š” ๊ทธ ๋‹ต์ด ์ตœ์ ์ด ์•„๋‹ ์ˆ˜ ์žˆ์Œ. ์ฆ‰, ์ตœ์ ์˜ ๋‹ต์ด ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Œ. ๐Ÿ“– ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ 1. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋„ˆ๋ฌด ๋Š๋ ค์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€์ผ ๋•Œ 2. ์• ์ดˆ๋ถ€ํ„ฐ ์ตœ์ ์˜ ๋‹ต์ด ํ•„์š” ์—†์„ ๋•Œ ์‚ฌ์šฉ 3. ์ˆœ๊ฐ„์˜ ์ตœ์ ์˜ ์„ ํƒ์ด ์ตœ์ข… ๋‹ต์—์„œ๋„ ์ตœ์ ์˜ ์„ ํƒ์ด ๋˜๋Š” ๊ฒฝ์šฐ 3๋ฒˆ๊ณผ ๊ฐ™์ด ๊ทธ๋ฆฌ๋”” ์•Œ..

python 2023. 3. 1. 18:05
[์šด๋™ ๊ธฐ๋ก ์›นํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ] ๊ธฐํš (2023.03.01)

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

project 2023. 3. 1. 14:59
[์›นํผ๋ธ”๋ฆฌ์‹ฑ] CSS ์‹œ์ž‘ํ•˜๊ธฐ / ํŽ˜์ด์ง€๋ผ๋ฆฌ ์—ฐ๊ฒฐํ•˜๊ธฐ

2023.02.28 ์ฝ”๋“œ์ž‡ ๊ฐ•์˜ ๋‚ด์šฉ ๐Ÿ”Ž style ์†์„ฑ ํƒœ๊ทธ์— CSS๋ฅผ ์ ์šฉํ•˜๋ ค๋ฉด style์ด๋ผ๋Š” ์†์„ฑ์„ ์‚ฌ์šฉ CSS ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” CSS ์†์„ฑ: CSS ์†์„ฑ๊ฐ’ ํ˜•ํƒœ๋กœ ์ž‘์„ฑ ์—ฌ๋Ÿฌ ๊ฐœ์˜ CSS ์†์„ฑ์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์„ธ๋ฏธ์ฝœ๋ก (;)์œผ๋กœ ๊ตฌ๋ถ„ ๐Ÿ”Ž CSS ๊ธฐ๋ณธ ๋‹จ์œ„ ๐Ÿ“– ์ƒ‰์ด๋ฆ„ red, green, yellow์ฒ˜๋Ÿผ ์ƒ‰์ƒ์„ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹ → ๋‹ค์–‘ํ•œ ์ƒ‰์„ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ํ•œ๊ณ„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ ๐Ÿ“– ์ƒ‰์ƒ ์ฝ”๋“œ ์ƒ‰์ƒ์„ HEX(16์ง„์ˆ˜)๋กœ ํ‘œํ˜„ํ•œ ๊ฐ’. ๋ณดํ†ต ์ด ๊ฐ’์œผ๋กœ ์ƒ‰์ƒ์„ ์‚ฌ์šฉ. ๋ชจ๋“  ์ƒ‰๊น”๋“ค์„ ํŽผ์ณ ๋†“๊ณ  ํ•˜๋‚˜์”ฉ ์ฝ”๋“œ๋ฅผ ๋ถ€์—ฌํ•œ ๊ฒƒ์œผ๋กœ ๊ตฌ๊ธ€์—์„œ 'color picker' ๋“ฑ์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ƒ‰์ƒ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ ๐Ÿ“– ํ”ฝ์…€(Picture element) ํ™”๋ฉด์—์„œ ๊ทธ๋ ค์ง€๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ •์‚ฌ๊ฐํ˜•์„ ๋งํ•˜์—ฌ, ..

full stack/HTML, CSS 2023. 2. 28. 21:37
[์›นํผ๋ธ”๋ฆฌ์‹ฑ] HTML ์‹œ์ž‘ํ•˜๊ธฐ

๐Ÿ”Ž HTML, CSS๋ž€? HTML, CSS๋Š” ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด) ์†Œ์Šค ์ฝ”๋“œ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑํ•œ ๋‚ด์šฉ ์ฝ”๋”ฉ ํ•œ๋‹ค : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. HTML์€ ์›น์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€๋Š” ๋‚ด์šฉ์„ ๋‹ด๋‹นํ•˜๊ณ , CSS(Cascading Style Sheets)๋Š” ์›น์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐˆ ์Šคํƒ€์ผ์„ ๋‹ด๋‹น ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ .html ํ˜•์‹์˜ ํŒŒ์ผ์„ ๋งŒ๋“ฆ. HTML ํŒŒ์ผ์„ ํŽธ์ง‘ํ•œ ๋‹ค์Œ์— ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด๋ฉด ์šฐ๋ฆฌ๊ฐ€ ํ‰์†Œ์— ๋ณด๋Š” ์›น์‚ฌ์ดํŠธ์ฒ˜๋Ÿผ ํ™”๋ฉด์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Œ. HTML ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด VS Code๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ๋Š” ํฌ๋กฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋ณผ ์˜ˆ์ •. ๐Ÿ”Ž HTML ํŒŒ์ผ ๋งŒ๋“ค๊ณ  ์‹คํ–‰ํ•ด๋ณด๊ธฐ ๐Ÿ“– ํƒœ๊ทธ(Tag) HTML์—์„œ ํƒœ๊ทธ๋Š” ..

full stack/HTML, CSS 2023. 2. 28. 17:23
[ํŒŒ์ด์ฌ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ : Dynamic Programming ์—ฐ์Šต๋ฌธ์ œ

2023.02.28 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž Dynamic Programming ์—ฐ์Šต๋ฌธ์ œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ƒˆ๊ผผ๋‹ฌ๊ผผ์œผ๋กœ ๋ฒŒ์–ด๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ˆ˜์ต ๊ตฌํ•˜๊ธฐ price_list : ๊ฐœ์ˆ˜๋ณ„ ๊ฐ€๊ฒฉ์ด ์ •๋ฆฌ๋˜์–ด ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ count : ํŒ๋งคํ•  ์ƒˆ๊ผผ๋‹ฌ๊ผผ ๊ฐœ์ˆ˜ cache : ๊ฐœ์ˆ˜๋ณ„ ์ตœ๋Œ€ ์ˆ˜์ต์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์‚ฌ์ „ ๐Ÿ“– memoization์œผ๋กœ ๋ฌธ์ œ ํ’€๊ธฐ โ‘  base case : 0๊ฐœ ํŒ”์•˜์„ ๋•Œ ํ˜น์€ 1๊ฐœ ํŒ”์•˜์„ ๋•Œ์—๋Š” price_list์˜ ๊ฐ€๊ฒฉ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ โ‘ก recursive case : ์ตœ๋Œ€ ์ˆ˜์ต ๊ตฌํ•˜๊ธฐ 1๊ฐœ ํŒ”์•˜์„ ๋•Œ ์ˆ˜์ต : 100 2๊ฐœ ํŒ”์•˜์„ ๋•Œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ต : (1๊ฐœ, 1๊ฐœ) ํŒ”์•˜์„ ๋•Œ ํ˜น์€ (2๊ฐœ, 0๊ฐœ) ํŒ”์•˜์„ ๋•Œ 3๊ฐœ ํŒ”์•˜์„ ๋•Œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ต : (1๊ฐœ, 2๊ฐœ) ํŒ”์•˜์„ ๋•Œ ํ˜น์€ (3๊ฐœ, 0๊ฐœ) ํŒ”์•˜..

python 2023. 2. 28. 15:44
[ํŒŒ์ด์ฌ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ : Dynamic Programming

2023.02.27 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž Dynamic Programming ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ๋” ์ž‘๊ณ  ๊ฐ„๋‹จํ•œ ํ•˜์œ„ ๋ฌธ์ œ๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ๊ฐ๊ฐ์˜ ํ•˜์œ„ ๋ฌธ์ œ๋ฅผ ํ•œ ๋ฒˆ๋งŒ ํ’€๊ณ , ๊ฐ ํ•˜์œ„ ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ์ฑ…์„ ํ‘œ์— ์ €์žฅํ•œ ํ›„ ํ•„์š”์— ๋”ฐ๋ผ ์žฌ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„. Dynamic Programming์˜ ์กฐ๊ฑด 1. ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ (Optimal Substructure) ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค์˜ ์ตœ์ ์˜ ๋‹ต์„ ์ด์šฉํ•˜์—ฌ ๊ธฐ์กด ๋ฌธ์ œ์˜ ์ตœ์ ์˜ ๋‹ต์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ. ์ฆ‰, ๊ธฐ์กด ๋ฌธ์ œ๋ฅผ ๋ถ€๋ถ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ํ’€ ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ. (ex. ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด) 2. ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ (Overlapping Subproblems) ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด๊ณผ ๊ฐ™์ด ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ๊ฐ€ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ์—๋Š” ์ค‘๋ณต ๋˜๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค..

python 2023. 2. 27. 20:02
[ํŒŒ์ด์ฌ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ : Divide and Conquer (ํ•ฉ๋ณ‘ ์ •๋ ฌ, ํ€ต ์ •๋ ฌ)

2023.02.25 ~ 2023.02.26 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž Divide and Conquer ๋ถ„ํ•  ์ •๋ณต ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜(Divide and Conquer algorithm)์€ ๊ทธ๋Œ€๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜. ํ€ต ์ •๋ ฌ์ด๋‚˜ ํ•ฉ๋ณ‘ ์ •๋ ฌ๋กœ ๋Œ€ํ‘œ๋˜๋Š” ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์™€ ์ด์ง„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํ–‰๋ ฌ ๊ณฑ์…ˆ ๋“ฑ์ด ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉ ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ณดํ†ต ์žฌ๊ท€ ํ•จ์ˆ˜(recursive function)๋ฅผ ํ†ตํ•ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ตฌํ˜„๋จ. ๋”ฐ๋ผ์„œ ๋ถ„ํ•  ์ •๋ณต์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์žฌ๊ท€ ๊ฐœ๋…์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์šฐ์„ ํ•จ. function F(x) : # base case if F(x)์˜ ๋ฌธ์ œ๊ฐ€ ๊ฐ„๋‹จ: return F(x)์„ ์ง์ ‘ ๊ณ„์‚ฐํ•œ ๊ฐ’ # ์žฌ๊ท€ํ•จ์ˆ˜ x๋ฅผ y1๊ณผ y2๋กœ ๋ถ„ํ•  F..

python 2023. 2. 26. 18:49
[ํŒŒ์ด์ฌ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ : Brute Force

2023.02.24 ์ฝ”๋“œ์ž‡ ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„(algorithm paradigm) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ์Œ. ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋‹ค ๋ณด๋ฉด ํ•ด๊ฒฐ ๊ณผ์ •์ด ๋น„์Šทํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ๊ฒƒ์„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋ผ๊ณ  ํ•จ. ์ฆ‰, ์–ด๋– ํ•œ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ์ผ๋ฐ˜์ ์ธ ์ ‘๊ทผ๋ฒ• ํ˜น์€ ๋ฐฉ๋ฒ•๋ก . ๋ช‡ ๊ฐ€์ง€ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„์ด ์žˆ์œผ๋ฉฐ, ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ์ž์‹ ๋งŒ์˜ ๊ธฐ์ˆ ๊ณผ ๋„๊ตฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ. ๋˜ํ•œ, ํ•˜๋‚˜์˜ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„์œผ๋กœ ํ•œ ๋ฌธ์ œ์— ์ ‘๊ทผํ•  ์ˆ˜๋„ ์žˆ์Œ. ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจ๋Ÿฌ๋‹ค์ž„ 1. Greedy Algorithms 2. Divide and Conquer 3. Dynamic Programming 4. Backtrack..

python 2023. 2. 24. 20:49