๋ชฉ๋ก์ „์ฒด ๊ธ€ (125)

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

๐Ÿšฉ [2ํŽธ] Jekins / vite ๋นŒ๋“œ ์ค‘ OOM ํ•ด๊ฒฐ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์†๋„ ๊ฐœ์„ ํ•˜๊ธฐ

๋ฐ์ดํ„ฐ๊ฐ€ ์•Œ๋ ค์ค€ ํ•ด๊ฒฐ์ฑ…: '๋บ„์…ˆ'์˜ ๊ธฐ์ˆ ๊ณผ ์˜์‚ฌ๊ฒฐ์ • ๊ณผ์ • [1ํŽธ]์—์„œ ์šฐ๋ฆฌ๋Š” ์ž์ฒด ๊ตฌ์ถ•ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ํ†ตํ•ด, ๋นŒ๋“œ ์ค‘ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํญ๋ฐœํ•˜๋Š” ์›์ธ์ด ๊ณผ๋„ํ•˜๊ฒŒ ๋ณต์žกํ•œ Chunking ์„ค์ •'๊ณผ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋นŒ๋“œ๋˜๋Š” ๋ชจ๋“ˆ์ด ์žˆ์Œ์„ ๋ฐ์ดํ„ฐ๋กœ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ์›์ธ์„ ์•Œ์•˜๋‹ค๊ณ  ํ•ด์„œ ๋ฌด์ž‘์ • ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๊ธฐ์กด ์ฝ”๋“œ์˜ ์˜๋„๋ฅผ ํŒŒ์•…ํ•˜๋ฉฐ ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐœ์„ ํ•˜๋Š” ๊ณผ์ •๊ณผ, ์‹ค์ œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๋Š” ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ •์„ ๋‹ด์•˜์Šต๋‹ˆ๋‹ค.1. ์ฒซ ๋ฒˆ์งธ ๋‚œ๊ด€: manualChunks, ๊ณผ์—ฐ ์ค„์—ฌ๋„ ๋˜๋Š”๊ฐ€?๊ฐ€์žฅ ํฐ ๋ฉ”๋ชจ๋ฆฌ ๋ณ‘๋ชฉ์ง€์ ์€ vite.config.js์˜ manualChunks ์„ค์ •์ด์—ˆ์Šต๋‹ˆ๋‹ค.๋งŽ์€ if-else ๋ฌธ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์ž˜๊ฒŒ ์ชผ๊ฐœ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.๐Ÿค” ๊ณ ๋ฏผ: "์ด ์ฝ”๋“œ๋Š” ์ด์œ ๊ฐ€ ์žˆ์–ด์„œ ์กด์žฌํ•˜์ง€ ์•Š์„๊นŒ..

Programming/DevOps 2026. 1. 5. 23:16
๐Ÿš€ [1ํŽธ] Jekins / vite ๋นŒ๋“œ ์ค‘ OOM ํ•ด๊ฒฐ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์†๋„ ๊ฐœ์„ ํ•˜๊ธฐ

ํ์‡„๋ง ํ™˜๊ฒฝ์—์„œ OOM ์žก๊ธฐ: "๋„๊ตฌ"๊ฐ€ ์—†์œผ๋ฉด ๋งŒ๋“ค์–ด ์“ด๋‹ค. ๋“ค์–ด๊ฐ€๋ฉฐ: ๋ณด์ด์ง€ ์•Š๋Š” ์ ๊ณผ์˜ ์‹ธ์›€์ตœ๊ทผ ์ €ํฌ ํŒ€์ด ์šด์˜ํ•˜๋Š” ๋Œ€๊ณ ๊ฐ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์ค‘, JavaScript heap out of memory (OOM) ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.๋‹น์žฅ ๊ธ‰ํ•œ ๋ถˆ์„ ๋„๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น๋Ÿ‰์„ ๋Š˜๋ฆฌ๋Š” ์กฐ์น˜๋ฅผ ์ทจํ–ˆ์ง€๋งŒ, ์ด๋Š” ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค."๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋Š˜๋ ค์„œ ํ•ด๊ฒฐ"ํ•˜๋Š” ๋ฐฉ์‹์€ ์–ธ์  ๊ฐ€ ์ž„๊ณ„์น˜๋ฅผ ๋„˜์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ์žฌ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ๋” ํฐ ๋ฌธ์ œ๋Š” "์ •ํ™•ํžˆ ์–ด๋””์„œ, ์™œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํŠ€๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค"๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. "๊ด€์ธกํ•  ์ˆ˜ ์—†์œผ๋ฉด, ๊ฐœ์„ ํ•  ์ˆ˜ ์—†๋‹ค."๊ธˆ์œต๊ถŒ์ด๋ผ๋Š” ํŠน์ˆ˜ํ•œ ํ™˜๊ฒฝ(ํ์‡„๋ง) ํƒ“์— Prometheus๋‚˜ Grafana ๊ฐ™์€ ํ™”๋ คํ•œ ๋„๊ตฌ๋ฅผ ์“ธ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.๊ทธ๋ž˜์„œ ๊ฒฐ์‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค."์ง์ ‘ ๊ณ„์ธก ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์–ด, ๋ณด..

Programming/DevOps 2025. 12. 22. 23:10
[๊ฐ•์—ฐ ํšŒ๊ณ ๋ก] ๋™ํ˜•์•”ํ˜ธํ™”์™€ ์Šคํ…Œ์ด๋ธ” ์ฝ”์ธ

์ตœ๊ทผ ๋งŽ์€ ํ™”๋‘๊ฐ€ ๋˜๊ณ  ์žˆ๋Š” ์Šคํ…Œ์ด๋ธ” ์ฝ”์ธ์— ๋Œ€ํ•œ ์ข‹์€ ๊ฐ•์—ฐ์„ ๋“ฃ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์Šคํ…Œ์ด๋ธ” ์ฝ”์ธ ๋ฟ์•„๋‹ˆ๋ผ ํ˜„์žฌ์˜ ๊ธˆ์œต ์‹œ์Šคํ…œ์˜ ํ•œ๊ณ„๋ฅผ ์ง€์ ํ•˜๋ฉด ์ฝ”์ธ์ด ๋‚˜์˜ค๊ฒŒ๋œ ๋ฐฐ๊ฒฝ๊ณผ ์ƒํƒœ๊ณ„์˜ ๊ตฌ์„ฑ, ๋ฐ˜๋Œ€๋กœ ์ฝ”์ธ์˜ ๊ธˆ์œต ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐ”๋กœ ์ด์šฉ๋˜๊ธฐ ์–ด๋ ค์šด ํ•œ๊ณ„๋ฅผ ์•”ํ˜ธํ•™ ๊ด€์ ์—์„œ ๋ฐ”๋ผ๋ณด๊ณ  ์ด ํ•œ๊ณ„๋ฅผ ๊นฐ ์ˆ˜ ์žˆ๋Š” ๋™ํ˜•์•”ํ˜ธ์— ๋Œ€ํ•œ ์—ฐ์„ค๊นŒ์ง€ ๊ธˆ์œต๊ณผ IT ๊ธฐ์ˆ ์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์•„์ฃผ ์œ ์ตํ•œ ๊ฐ•์—ฐ์ด์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ๊ธ€์„ ์ •๋ฆฌํ•˜๊ณ  ๊ณต์œ  ํ•ฉ๋‹ˆ๋‹ค. 1๋ถ€. ๋™ํ˜•์•”ํ˜ธํ™”๋ž€ ๋ฌด์—‡์ธ๊ฐ€โ€• ๊ธฐ์กด ์•”ํ˜ธ ๋ฐฉ์‹์˜ ํ•œ๊ณ„์™€ ‘๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์ง€ ์•Š๊ณ  ๊ณ„์‚ฐํ•˜๋Š”’ ๊ธฐ์ˆ ์˜ ๋“ฑ์žฅ์ตœ๊ทผ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๋ถ„์•ผ์—์„œ ๊ฐ€์žฅ ํฐ ํ™”๋‘๋Š” **๋™ํ˜•์•”ํ˜ธ(Fully Homomorphic Encryption, FHE)**์ด๋‹ค.์ด ๊ธฐ์ˆ ์€ “๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•œ ์ƒํƒœ ๊ทธ๋Œ€๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค”๋Š” ์ ์—..

Programming/IT 2025. 11. 30. 10:07
[Oracle] ์˜ค๋ผํด ์ฟผ๋ฆฌ ํŠœ๋‹ ํšŒ๊ณ (TOP-N ๋ฐฉ์‹ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ)

TOP-N๊ณผ ์ธ๋ฑ์Šค ์Šค์บ”์ด์™œ ๊ทธ๋ ‡๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๊นŒ์ง€ ์‚ฌ๋‚ด์—์„œ ํŽ˜์ด์ง•์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด์„œ ๊ณ ์ „ ๋ฐฉ์‹์˜ ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•œ TOP-N ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.์˜ˆ์‹œSELECT *FROM( SELECT ROWNUM as row_num, T.* FROM ( SELECT * FROM MY_TABLE WHERE :์กฐ๊ฑด ORDER BY :์ธ๋ฑ์Šค_์ปฌ๋Ÿผ ) T WHERE ROWNUM (:pageNum - 1) * :pageCountpageNum: ํŽ˜์ด์ง€ ๋ฒˆํ˜ธpageCount: ํ•œ ํŽ˜์ด์ง€์— ํ‘œ๊ธฐํ•  ์•„์ดํ…œ ์ˆ˜ ์œ„์™€ ๊ฐ™์€ ๊ทœ์น™์— ๋งž๊ฒŒ ์ž‘์„ฑ๋˜์–ด์žˆ๋Š” ํŽ˜์ด์ง•์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„œ๋น„์Šค์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. ์ฒ˜์Œ์€ ๋‹จ์ˆœํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ๋‹ค.PK์ •๋ ฌ -> ์ธ๋ฑ์Šค ์กด์žฌ -> ์ธ๋ฑ์Šค๋กœ ์ •๋ ฌ ์—†์ด ์ƒ์œ„ N๊ฐœ๋ฅผ ๋จผ์ € ์ฝ์–ด์˜จ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ ๊ฐœ๋ฐœ์„œ๋ฒ„์—์„œ ์ง„ํ–‰ํ•œ ์˜ค๋ผํด์˜ ..

Programming/DB 2025. 11. 15. 21:54
[JS] Promise ํ™œ์šฉ - ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ์˜ํ•œ ๋™์ž‘ ์ง„ํ–‰ / ๋ฏธ์ง„ํ–‰

JS๋ฅผ ํ™œ์šฉํ•˜๋Š” front ์†Œ์Šค์—์„œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ํ†ตํ•ด์„œ ํ•จ์ˆ˜๋ฅผ ๋” ์ง„ํ–‰์‹œํ‚ฌ์ง€ ์ค‘๋‹จํ• ์ง€ ์ •ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ด ์ƒ๊น๋‹ˆ๋‹ค. ๋ชจ๋“  Modal ์ฐฝ์„ ํ†ตํ•ด์„œ callback ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ๊ฐ ํ•จ์ˆ˜์—์„œ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ผ์ด ์—†์ง€๋งŒ, ๋ณต์žกํ•œ ๋น„์ง€๋‹ˆ์Šค ๋กœ์งํ•ด์„œํ•˜๋‚˜์˜ ํ•จ์ˆ˜์—์„œ ์—ฐ์†์ ์œผ๋กœ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์•„ํ•  ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ ์‹ค๋ฌด์—์„œ ์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด์ ์ด ์žˆ๋Š”๋ฐ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ ๊ฐ„๋žตํ•œ ๊ธฐ๋ฒ•์„ ์ •๋ฆฌํ•ด ๋ด…๋‹ˆ๋‹ค. ์˜ˆ์‹œ์ฝ”๋“œlet success = '' //resolve๋ฅผ ๋‹ด์„ ๋ณ€์ˆ˜let fail = '' //reject๋ฅผ ๋‹ด์„ ๋ณ€์ˆ˜const returnPromise = () => { console.log("returnPromise call") return new P..

Programming/JavaScript 2025. 11. 6. 18:37
[ํ•˜์ฝ”ํ…Œ] Day8. ์˜ค๋ฒ„ํ—ค๋“œ ์ค„์ด๊ธฐ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "๊ธฐ๋Šฅ๊ฐœ์„ " ํ’€์ด)

ํ•˜์ฝ”ํ…Œ 8์ผ์ฐจ ๋ฌธ์ œ ์—ญ์‹œ ์Šคํƒ/ํ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.ํ•ด๋‹น ๋ฌธ์ œ์—์„œ๋Š” ํ๋ฅผ ์ด์šฉํ•œ ๋ฌธ์ œ ํ’€์ด๋ฅผ ํ•˜์˜€์œผ๋‚˜ ๋ฐ˜๋“œ์‹œ ์ž๋ฃŒ๊ตฌ์กฐ ํ๋ฅผ ์ด์šฉํ•  ํ•„์š”์—†์ด ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ๋ฐฉ์‹์„ ๊ณ ๋ คํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด์Šต๋‹ˆ๋‹ค.๋ฌธ์ œ ์„ค๋ช…ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํŒ€์—์„œ๋Š” ๊ธฐ๋Šฅ ๊ฐœ์„  ์ž‘์—…์„ ์ˆ˜ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ๋Šฅ์€ ์ง„๋„๊ฐ€ 100%์ผ ๋•Œ ์„œ๋น„์Šค์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋˜, ๊ฐ ๊ธฐ๋Šฅ์˜ ๊ฐœ๋ฐœ์†๋„๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ๋ณด๋‹ค ๋จผ์ € ๊ฐœ๋ฐœ๋  ์ˆ˜ ์žˆ๊ณ , ์ด๋•Œ ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋  ๋•Œ ํ•จ๊ป˜ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.๋จผ์ € ๋ฐฐํฌ๋˜์–ด์•ผ ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ž‘์—…์˜ ์ง„๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด progresses์™€ ๊ฐ ์ž‘์—…์˜ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด speeds๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๊ฐ ๋ฐฐํฌ๋งˆ๋‹ค ๋ช‡ ๊ฐœ์˜ ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋˜๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ..

Programming/Algorithm 2025. 9. 21. 16:28
[ํ•˜์ฝ”ํ…Œ] Day7. ์•ฝ๊ฐ„๊ณ ๋น„ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "์ฃผ์‹๊ฐ€๊ฒฉ" ํ’€์ด)

ํ•˜์ฝ”ํ…Œ(ํ•˜๋ฃจ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ) 2์ฃผ์ฐจ์˜ ๋‘๋ฒˆ์งธ ๋ฌธ์ œ ์ž…๋‹ˆ๋‹ค.์ด๋ฒˆ์ฃผ๋Š” ํšŒ์‚ฌ ์ผ์ •์œผ๋กœ ๋ฌธ์ œํ’€์ด ๋ฐ ๋ธ”๋กœ๊ทธ ๊ธ€ ์ž‘์„ฑ์ด ๋ฒ„๊ฑฐ์›€์ด ์žˆ์—ˆ์–ด์„œ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ๋ชฐ์•„์“ฐ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.๊ทธ๋ž˜๋„ ๋งค์ผ ํ•œ ๋ฌธ์ œ์”ฉ ํ’€์ž๊ณ  ๋ชฉํ‘œ๋ฅผ๋‘๋‹ˆ ์ž‘์„ฑ์„ ํฌ๊ธฐํ•˜์ง€๋Š” ์•Š๊ฒŒ๋˜์–ด์„œ ๋„์›€์ด๋˜๋„ค์š”.๋ฌธ์ œ ์„ค๋ช…์ดˆ ๋‹จ์œ„๋กœ ๊ธฐ๋ก๋œ ์ฃผ์‹๊ฐ€๊ฒฉ์ด ๋‹ด๊ธด ๋ฐฐ์—ด prices๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๊ฐ€๊ฒฉ์ด ๋–จ์–ด์ง€์ง€ ์•Š์€ ๊ธฐ๊ฐ„์€ ๋ช‡ ์ดˆ์ธ์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. ์ œํ•œ์‚ฌํ•ญprices์˜ ๊ฐ ๊ฐ€๊ฒฉ์€ 1 ์ด์ƒ 10,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.prices์˜ ๊ธธ์ด๋Š” 2 ์ด์ƒ 100,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆprices return[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…1์ดˆ ์‹œ์ ์˜ โ‚ฉ1์€ ๋๊นŒ์ง€ ๊ฐ€๊ฒฉ์ด ๋–จ์–ด์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.2..

Programming/Algorithm 2025. 9. 21. 13:30
[ํ•˜์ฝ”ํ…Œ] Day6. 2์ฃผ์ฐจ ์‹œ์ž‘ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด")

ํ•˜์ฝ”ํ…Œ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  2์ฃผ์ฐจ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.์›”์š”์ผ์— ํฐ ์ผ์ •์ด ์—†์–ด์„œ ๋ฌด์‚ฌํžˆ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€๋‚œ์ฃผ์—๋Š” ๊ณ„์† ํ•ด์‹œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค๋ฉด, ์ด๋ฒˆ์ฃผ์—๋Š” ์Šคํƒ/ํ ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ฌ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.๋ฌธ์ œ ์„ค๋ช…๋ฐฐ์—ด arr๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ฐฐ์—ด arr์˜ ๊ฐ ์›์†Œ๋Š” ์ˆซ์ž 0๋ถ€ํ„ฐ 9๊นŒ์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ „๋ถ€ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ์ œ๊ฑฐ๋œ ํ›„ ๋‚จ์€ ์ˆ˜๋“ค์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ๋Š” ๋ฐฐ์—ด arr์˜ ์›์†Œ๋“ค์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด,arr = [1, 1, 3, 3, 0, 1, 1] ์ด๋ฉด [1, 3, 0, 1] ์„ return ํ•ฉ๋‹ˆ๋‹ค.arr = [4, 4, 4, 3, 3] ์ด๋ฉด [4, 3] ์„ return ํ•ฉ๋‹ˆ๋‹ค.๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ์ œ๊ฑฐํ•˜..

Programming/Algorithm 2025. 9. 15. 23:10
[ํ•˜์ฝ”ํ…Œ] Day5. ์ผ์ฃผ์ผ ํ’€์ด ์™„๋ฃŒ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜")

๋งค์ผ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 5์ผ์ฐจ ๋ฌธ์ œ๊นŒ์ง€ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ์”ฉ ๋งค์ผ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ์— ์ต์ˆ™ํ•ด์ง€๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.๋ฌธ์ œ์ˆ˜๋งŽ์€ ๋งˆ๋ผํ†ค ์„ ์ˆ˜๋“ค์ด ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋‹จ ํ•œ ๋ช…์˜ ์„ ์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ชจ๋“  ์„ ์ˆ˜๊ฐ€ ๋งˆ๋ผํ†ค์„ ์™„์ฃผํ•˜์˜€์Šต๋‹ˆ๋‹ค.๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด participant์™€ ์™„์ฃผํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด completion์ด ์ฃผ์–ด์งˆ ๋•Œ, ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ๋งˆ๋ผํ†ค ๊ฒฝ๊ธฐ์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜์˜ ์ˆ˜๋Š” 1๋ช… ์ด์ƒ 100,000๋ช… ์ดํ•˜์ž…๋‹ˆ๋‹ค.completion์˜ ๊ธธ์ด๋Š” participant์˜ ๊ธธ์ด๋ณด๋‹ค 1 ์ž‘์Šต๋‹ˆ๋‹ค.์ฐธ๊ฐ€์ž์˜ ์ด๋ฆ„์€ 1๊ฐœ ์ด์ƒ 20๊ฐœ ์ดํ•˜์˜ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.์ฐธ๊ฐ€์ž ์ค‘์—๋Š” ๋™๋ช…์ด์ธ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž…์ถœ..

Programming/Algorithm 2025. 9. 13. 21:58
[ํ•˜์ฝ”ํ…Œ] Day4. ์ž‘์‹ฌ์‚ผ์ผ ๊ทน๋ณต (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "๋ฒ ์ŠคํŠธ ์•จ๋ฒ”")

ํ•˜์ฝ”ํ…Œ 4์ผ์ฐจ ํ’€์ด๊นŒ์ง€ ์™„๋ฃŒ. ๋‹คํ–‰ํžˆ ์ž‘์‹ฌ์‚ผ์ผ๋กœ ๋๋‚ด์ง€ ์•Š๊ฒŒ ๋˜์—ˆ์œผ๋‹ˆ ๊พธ์ค€ํžˆ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.๋ฌธ์ œ ์„ค๋ช…์ŠคํŠธ๋ฆฌ๋ฐ ์‚ฌ์ดํŠธ์—์„œ ์žฅ๋ฅด ๋ณ„๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์žฌ์ƒ๋œ ๋…ธ๋ž˜๋ฅผ ๋‘ ๊ฐœ์”ฉ ๋ชจ์•„ ๋ฒ ์ŠคํŠธ ์•จ๋ฒ”์„ ์ถœ์‹œํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋…ธ๋ž˜๋Š” ๊ณ ์œ  ๋ฒˆํ˜ธ๋กœ ๊ตฌ๋ถ„ํ•˜๋ฉฐ, ๋…ธ๋ž˜๋ฅผ ์ˆ˜๋กํ•˜๋Š” ๊ธฐ์ค€์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.์†ํ•œ ๋…ธ๋ž˜๊ฐ€ ๋งŽ์ด ์žฌ์ƒ๋œ ์žฅ๋ฅด๋ฅผ ๋จผ์ € ์ˆ˜๋กํ•ฉ๋‹ˆ๋‹ค.์žฅ๋ฅด ๋‚ด์—์„œ ๋งŽ์ด ์žฌ์ƒ๋œ ๋…ธ๋ž˜๋ฅผ ๋จผ์ € ์ˆ˜๋กํ•ฉ๋‹ˆ๋‹ค.์žฅ๋ฅด ๋‚ด์—์„œ ์žฌ์ƒ ํšŸ์ˆ˜๊ฐ€ ๊ฐ™์€ ๋…ธ๋ž˜ ์ค‘์—์„œ๋Š” ๊ณ ์œ  ๋ฒˆํ˜ธ๊ฐ€ ๋‚ฎ์€ ๋…ธ๋ž˜๋ฅผ ๋จผ์ € ์ˆ˜๋กํ•ฉ๋‹ˆ๋‹ค.๋…ธ๋ž˜์˜ ์žฅ๋ฅด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด ๋ฐฐ์—ด genres์™€ ๋…ธ๋ž˜๋ณ„ ์žฌ์ƒ ํšŸ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด plays๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ๋ฒ ์ŠคํŠธ ์•จ๋ฒ”์— ๋“ค์–ด๊ฐˆ ๋…ธ๋ž˜์˜ ๊ณ ์œ  ๋ฒˆํ˜ธ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. ์ œํ•œ์‚ฌํ•ญgenres[i]๋Š” ๊ณ ์œ ๋ฒˆํ˜ธ๊ฐ€..

Programming/Algorithm 2025. 9. 13. 18:59