๋ชฉ๋กProgramming (99)

๐Ÿ“ ์ ์–ด์„œ ๋จธ๋ฆฟ์†์œผ๋กœ

[ํ•˜์ฝ”ํ…Œ] Day3. ์ž‘์‹ฌ์‚ผ์ผ ๋‹ฌ์„ฑ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "ํฐ์ผ“๋ชฌ" ํ’€์ด)

ํ•˜์ฝ”ํ…Œ 3์ผ์ฐจ ํ’€์ด๋ฅผ ๋๋ƒˆ์Šต๋‹ˆ๋‹ค.์ผ๋‹จ์€ ์ž‘์‹ฌ์‚ผ์ผ์€ ๋ฌด์‚ฌํžˆ ๋‹ฌ์„ฑํ–ˆ๊ณ  4์ผ์ฐจ๊นŒ์ง€๋Š” ๊ผญ ์ง„ํ–‰ํ•ด์„œ ์ž‘์‹ฌ์‚ผ์ผ์„ ๊ทน๋ณตํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.5์ผ์ฐจ๋Š” ๊ธˆ์š”์ผ์ด๋‹ˆ๋งŒํผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์„์ง€... ๋ฌธ์ œ ์„ค๋ช…๋‹น์‹ ์€ ํฐ์ผ“๋ชฌ์„ ์žก๊ธฐ ์œ„ํ•œ ์˜ค๋žœ ์—ฌํ–‰ ๋์—, ํ™ ๋ฐ•์‚ฌ๋‹˜์˜ ์—ฐ๊ตฌ์‹ค์— ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™ ๋ฐ•์‚ฌ๋‹˜์€ ๋‹น์‹ ์—๊ฒŒ ์ž์‹ ์˜ ์—ฐ๊ตฌ์‹ค์— ์žˆ๋Š” ์ด N ๋งˆ๋ฆฌ์˜ ํฐ์ผ“๋ชฌ ์ค‘์—์„œ N/2๋งˆ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋„ ์ข‹๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.ํ™ ๋ฐ•์‚ฌ๋‹˜ ์—ฐ๊ตฌ์‹ค์˜ ํฐ์ผ“๋ชฌ์€ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์—ฌ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ์€ ๊ฐ™์€ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์—ฐ๊ตฌ์‹ค์— ์ด 4๋งˆ๋ฆฌ์˜ ํฐ์ผ“๋ชฌ์ด ์žˆ๊ณ , ๊ฐ ํฐ์ผ“๋ชฌ์˜ ์ข…๋ฅ˜ ๋ฒˆํ˜ธ๊ฐ€ [3๋ฒˆ, 1๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ]์ด๋ผ๋ฉด ์ด๋Š” 3๋ฒˆ ํฐ์ผ“๋ชฌ ๋‘ ๋งˆ๋ฆฌ, 1๋ฒˆ ํฐ์ผ“๋ชฌ ํ•œ ๋งˆ๋ฆฌ, 2๋ฒˆ ํฐ์ผ“๋ชฌ ํ•œ ๋งˆ๋ฆฌ๊ฐ€ ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋•Œ, 4๋งˆ๋ฆฌ..

Programming/Algorithm 2025. 9. 10. 23:12
[ํ•˜์ฝ”ํ…Œ] Day2. ์–ด์ฉŒ๋‹ค ๋ณต์Šต (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "์˜์ƒ" ํ’€์ด)

ํ•˜์ฝ”ํ…Œ ์ดํ‹€์ฐจ ๋ฌธ์ œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ "์˜์ƒ" ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ด์ „์— ํ’€์–ด๋ณธ ๋ฌธ์ œ๊ฐ€ ๊ธฐ์กด ํ’€์ด๊ฐ€ ๋‚จ์•„์žˆ์—ˆ๊ณ  ๋‹คํ–‰ํžˆ? ์•„์ง ์ •๋‹ต์œผ๋กœ ์ธ์ •์ด ๋˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.์ƒˆ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ๋ณด๋‹ค๋Š” ์ด๋Ÿฐ ๊ฒฝ์šฐ๋Š” ๋ณต์Šต์˜ ๊ธฐํšŒ๋กœ ์‚ผ๋Š”๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.๋ฌธ์ œ ์„ค๋ช…์ฝ”๋‹ˆ๋Š” ๋งค์ผ ๋‹ค๋ฅธ ์˜ท์„ ์กฐํ•ฉํ•˜์—ฌ ์ž…๋Š”๊ฒƒ์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด ์ฝ”๋‹ˆ๊ฐ€ ๊ฐ€์ง„ ์˜ท์ด ์•„๋ž˜์™€ ๊ฐ™๊ณ , ์˜ค๋Š˜ ์ฝ”๋‹ˆ๊ฐ€ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ, ๊ธด ์ฝ”ํŠธ, ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ ๋ฅผ ์ž…์—ˆ๋‹ค๋ฉด ๋‹ค์Œ๋‚ ์€ ์ฒญ๋ฐ”์ง€๋ฅผ ์ถ”๊ฐ€๋กœ ์ž…๊ฑฐ๋‚˜ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ ๋Œ€์‹  ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค๋ฅผ ์ฐฉ์šฉํ•˜๊ฑฐ๋‚˜ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.์ข…๋ฅ˜์ด๋ฆ„์–ผ๊ตด๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ, ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค์ƒ์˜ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ ํ•˜์˜์ฒญ๋ฐ”์ง€๊ฒ‰์˜ท๊ธด ์ฝ”ํŠธ ์ฝ”๋‹ˆ๋Š” ๊ฐ ์ข…๋ฅ˜๋ณ„๋กœ ์ตœ๋Œ€ 1๊ฐ€์ง€ ์˜์ƒ๋งŒ ์ฐฉ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์œ„ ์˜ˆ์‹œ์˜ ๊ฒฝ์šฐ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ๊ณผ ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค๋ฅผ ๋™์‹œ์— ์ฐฉ์šฉํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.์ฐฉ์šฉํ•œ ..

Programming/Algorithm 2025. 9. 9. 23:27
[ํ•˜์ฝ”ํ…Œ] Day1. ์‹œ์ž‘์ด ๋ฐ˜ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก" ํ’€์ด)

๋งํฌ๋“œ ์ธ์—์„œ ์œ ์—ฐํžˆ ๋ณธ ํ•˜์ฝ”ํ…Œ ํ”„๋กœ์ ํŠธ์— ๋ฌด์ง€์„ฑ์œผ๋กœ ์‹ ์ฒญ์„ ํ•ด๋ดค๋‹ค. ํ•˜์ฝ”ํ…Œ ํ”„๋กœ์ ํŠธ๋ž€ ํ•˜๋ฃจ ๋งค์ผ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฃจํ‹ด์„ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ ์ด๋ฉ”์ผ๋กœ ๋ฌธ์ œ๋ฅผ ๋ณด๋‚ด์ฃผ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.๋งค์ผ ์ฐธ์—ฌ๋กœ ์‹ ์ฒญ์„ ํ–ˆ๋Š”๋ฐ ์–ผ๋งˆ๋‚˜ ๊พธ์ค€ํžˆํ•  ์ˆ˜ ์žˆ์„์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ํ•ด๋ณด๋Š”๋ฐ๊นŒ์ง€๋Š” ํ•ด๋ณด๋Š”๊ฑธ๋กœ... ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก"์„ ๋ฐ›์•˜๋‹ค. ๋ฌธ์ œ ์„ค๋ช…์ „ํ™”๋ฒˆํ˜ธ๋ถ€์— ์ ํžŒ ์ „ํ™”๋ฒˆํ˜ธ ์ค‘, ํ•œ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๋ฒˆํ˜ธ์˜ ์ ‘๋‘์–ด์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒฝ์šฐ, ๊ตฌ์กฐ๋Œ€ ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์˜์„์ด์˜ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ ‘๋‘์‚ฌ์ž…๋‹ˆ๋‹ค.๊ตฌ์กฐ๋Œ€ : 119๋ฐ•์ค€์˜ : 97 674 223์ง€์˜์„ : 11 9552 4421์ „ํ™”๋ฒˆํ˜ธ๋ถ€์— ์ ํžŒ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด phone_book ์ด solution ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์–ด๋–ค ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ..

Programming/Algorithm 2025. 9. 8. 22:07
๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผํ• ๊นŒ? (๋ฐฑ์ค€)

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์–ธ์ œ ์‚ฌ์šฉํ• ๊นŒ? ๋ฐฑ์ค€์˜ ๋Œ€ํ‘œ์ ์ธ ๊ทธ๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ11047 - ๋™์ „0 ๋ฌธ์ œ์ค€๊ทœ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋™์ „์€ ์ด N์ข…๋ฅ˜์ด๊ณ , ๊ฐ๊ฐ์˜ ๋™์ „์„ ๋งค์šฐ ๋งŽ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.๋™์ „์„ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•ด์„œ ๊ทธ ๊ฐ€์น˜์˜ ํ•ฉ์„ K๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋•Œ ํ•„์š”ํ•œ ๋™์ „ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋™์ „์˜ ๊ฐ€์น˜ Ai๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2์ธ ๊ฒฝ์šฐ์— Ai๋Š” Ai-1์˜ ๋ฐฐ์ˆ˜) ์ถœ๋ ฅ์ฒซ์งธ ์ค„์— K์›์„ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ๋™์ „ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. โœ… 1. ํ•ด๋‹น ๋ฌธ์ œ(11047 - ๋™์ „ 0)๊ฐ€ ๊ทธ๋ฆฌ๋””๋กœ ์ตœ์ ํ•ด๋ฅผ ๋ณด์žฅํ•˜๋Š” ์ด์œ ๐Ÿ”ธ ..

Programming/Algorithm 2025. 6. 30. 18:07
Java ์ œ๋„ค๋ฆญ(Generic)์€ ์™œ ์‚ฌ์šฉํ• ๊นŒ?

๐Ÿ” Java ์ œ๋„ค๋ฆญ(Generic)์€ ์™œ ์‚ฌ์šฉํ• ๊นŒ? Java๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด List, Map ๊ฐ™์€ ์ œ๋„ค๋ฆญ(Generic) ๋ฌธ๋ฒ•์„ ์ž์ฃผ ์ ‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ๊ตณ์ด ์ œ๋„ค๋ฆญ์„ ์จ์•ผ ํ• ๊นŒ์š”?์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ œ๋„ค๋ฆญ์˜ ๋„์ž… ์ด์œ , ๋‚ด๋ถ€ ๋™์ž‘ ๋ฐฉ์‹, ์‹ค์ œ ์˜ˆ์ œ, ์ฃผ์˜ํ•  ์ ๊นŒ์ง€ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.โœ… ์ œ๋„ค๋ฆญ์ด๋ž€?์ œ๋„ค๋ฆญ(Generic) ์€ ํด๋ž˜์Šค๋‚˜ ๋ฉ”์„œ๋“œ์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์™ธ๋ถ€์—์„œ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.List list = new ArrayList();์œ„ ์ฝ”๋“œ์—์„œ List๋Š” String๋งŒ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.โœ… ์™œ ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?1. ์ปดํŒŒ์ผ ํƒ€์ž„ ํƒ€์ž… ์ฒดํฌ (ํƒ€์ž… ์•ˆ์ •์„ฑ ํ™•๋ณด)์ œ๋„ค๋ฆญ์ด ์—†๋˜ ์‹œ์ ˆ์—๋Š” ๋ชจ๋“  ํƒ€์ž…์ด Object๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ๊ณ ,์ž˜๋ชป๋œ ํ˜•๋ณ€ํ™˜์œผ๋กœ ์ธํ•ด ClassCastExcept..

Programming/Java, Kotlin 2025. 6. 30. 15:48
[ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค] ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ IaaS์™€ ์„œ๋ฒ„ ๋ฆฌ์Šค PaaS์˜ ์ฐจ์ด์ (ft.Vercel, Render)

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์˜ ์ „ํ†ต ์ ์ธ ์„œ๋น„ ๊ธฐ๋ฐ˜ IaaS์™€ ์ตœ๊ทผ ์‚ฌ์šฉ์ด ์ฆ๊ฐ€ํ•˜๋Š” ์„œ๋น„ ๋ฆฌ์Šค PaaS์˜ ๊ฐœ๋…๊ณผ ์ฐจ์ด์ ์„ ์•Œ์•„๋ด…์‹œ๋‹ค. โœ… IaaS๋ž€?์‚ฌ์šฉ์ž๊ฐ€ ๋ฌผ๋ฆฌ์ ์ธ ์„œ๋ฒ„๋ฅผ ์†Œ์œ ํ•˜์ง€ ์•Š๊ณ , ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์ƒํ™”๋œ ์„œ๋ฒ„, ์Šคํ† ๋ฆฌ์ง€, ๋„คํŠธ์›Œํฌ ๋“ฑ ์ธํ”„๋ผ ์ž์›์„ ์„œ๋น„์Šค ํ˜•ํƒœ๋กœ ๋นŒ๋ ค ์“ฐ๋Š” ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.โœ… PaaS๋ž€?Platform as a Service→ “๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ฑฐ๋‚˜ ์šด์˜ํ•˜์ง€ ์•Š์•„๋„, ์•ฑ ์‹คํ–‰์— ํ•„์š”ํ•œ ํ”Œ๋žซํผ ํ™˜๊ฒฝ์„ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๊ฐ€ ๋Œ€์‹  ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค” โœ… ์š”์ ๊ตฌ๋ถ„๊ฐœ๋…๋ณ„์นญIaaS์ธํ”„๋ผ๋ฅผ ๋นŒ๋ ค์„œ ์ง์ ‘ ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์šด์˜"์„œ๋ฒ„ ๊ธฐ๋ฐ˜(Server-based)" ํ˜น์€ "์ „ํ†ต์  ๊ฐ€์ƒ ์„œ๋ฒ„(VM)" ๋ฐฉ์‹PaaS์•ฑ๋งŒ ์˜ฌ๋ฆฌ๋ฉด ์„œ๋ฒ„ ํ™˜๊ฒฝ์€ ์ž๋™ ๊ตฌ์„ฑ, ์ž๋™ ํ™•์žฅ“์„œ๋ฒ„๋ฆฌ์Šค(Serverless) ํ”Œ๋žซํผ..

Programming/DevOps 2025. 5. 11. 15:10