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

ยทTIL
์˜ค๋Š˜์€ ๋‚ด ๊ณผ๊ฑฐ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋ฅผ ์Šค์Šค๋กœ ๋ถ„์„ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ดค๋‹ค.์ทจ์—… ํ›„์—” ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์ผ๊ฑฐ๋ฆฌ๋กœ ๋ฐฐ์ •์ด ๋˜๋Š”๋ฐ, ๊ทธ๋Ÿฐ ์ƒํ™ฉ์— ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์—„์ฒญ ๊ผผ๊ผผํžˆ ๋ดค๋‹ค.๋งค๋‹ˆ์ €๋‹˜์ด ์ œ์‹œํ•œ ๋ช‡๊ฐ€์ง€ ์ค‘์ ์ ์œผ๋กœ ๋ณผ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ดํˆ๊ณ ,๊ธ€๋กœ ์„ค๋ช…ํ•˜๋Š”๋ฐ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ๋ธ”๋กœ๊ทธ์— ์•„์˜ˆ ํฌ์ŠคํŒ…์„ ํ–ˆ๋‹ค. ๋ชฉํ‘œ๋Š” Category์ชฝ๊ณผ Product์˜ ์˜ต์…˜,์ด๋ฏธ์ง€,ํƒœ๊ทธ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ์™€ ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ๋ฅผ ํฌ์ŠคํŒ…ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค.๊ทผ๋ฐ Category๋งŒ ํ•ด๋„ ์–‘์ด ๋ฐฉ๋Œ€ํ•ด์ ธ์„œ ํ›„์ž๋Š” ์ฃผ๋ง์— ํ•˜๋“ ๊ฐ€ ํ•ด์•ผ๊ฒ ๋‹ค. ๐Ÿ”— ์นดํ…Œ๊ณ ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ํฌ์ŠคํŒ… ๊ธ€ ๋งํฌ [๋งˆ์ผ“ ๋ธŒ๋ฆฟ์ง€ ํ”„๋กœ์ ํŠธ] ์นดํ…Œ๊ณ ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ 2. ์ „์ฒด ์นดํ…Œ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํšŒ API, ๊ณ„์ธตํ˜• ๊ตฌ์กฐ ์ฒ˜๋ฆฌ (Qu์ง€๋‚œ ํฌ์ŠคํŒ…์— ์ด์–ด ์ด์ œ ์‹ค์งˆ์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋ฅผ..
ยทTIL
1์ผ์ฐจ๊นŒ์ง€๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์žˆ๋Š” ๋Œ€๋กœ ๋‹ค ๋Œ์–ด๋ชจ์•„์„œ ๋’ค์ฃฝ๋ฐ•์ฃฝ ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.์–ด์ œ๊นŒ์ง€๋Š” ์‚ฌ์‹ค ์ด๊ฒŒ ๋ ๊นŒ? ์‹ถ๊ธฐ๋„ํ•˜๊ณ  ( ๊ทธ๋™์•ˆ ๋„ˆ๋ฌด ๋งŽ์ด ๋–จ์–ด์กŒ๋˜ ๊ฒƒ )ํ•œ๋ฒˆ๋„ ์ฒจ์‚ญ ๊ฐ™์€ ๊ฑธ ๋ฐ›์•„๋ณด์ง€ ๋ชปํ•ด์„œ ๋‘๋ ต๊ธฐ๋„ ํ•˜๊ณ  ๊ทธ๋žฌ๋‹ค.์˜ค๋Š˜์€ ์ž๊ธฐ์†Œ๊ฐœ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ์ด๋ ฅ์„œ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•ด์„œ ์ธํ…”๋ฆฌํ”ฝ์ด๋ผ๋Š” ์ŠคํŒŒ๋ฅดํƒ€ ๋ถ€ํŠธ์บ ํ”„ ์ˆ˜๋ฃŒ์ƒ ์ „์šฉ ์ทจ์—… ํ”Œ๋žซํผ์— ์ œ์ถœํ–ˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ํ˜„์ง์ž์—๊ฒŒ ๊ฐ„๋‹จํ•˜๊ฒŒ 10๋ถ„์ •๋„ ์ฝ”์นญ์„ ๋ฐ›๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋ ฅ์„œ ํ•˜๋‚˜๋ฅผ ๊ฐ€์ง€๊ณ  ์ด๋ ‡๊ฒŒ ์˜ค๋žœ์‹œ๊ฐ„ ๊ณต๋“ค์—ฌ์„œ ๋นŒ๋“œ์—… ํ•ด๋ณด๋Š” ๊ฒƒ์ด ์ฒ˜์Œ์ด๋ผ ๋ฐ˜์„ฑ๋„ ํ•˜๋ฉด์„œ ์—ด์‹ฌํžˆ ํ•ด๋ดค๋Š”๋ฐ,์ ์  ๋‚˜์•„์ง€๋Š” ๊ฒŒ ๋ˆˆ์— ๋ณด์—ฌ์„œ ๋„ˆ๋ฌด๋„ˆ๋ฌด ์‹ ๊ธฐํ–ˆ๋‹ค.๊ทธ๋™์•ˆ์˜ ์ด๋ ฅ์„œ๋“ค์€ ๋‹ค ๋ถˆํƒœ์›Œ๋ฒ„๋ฆฌ๊ณ  ์‹ถ์„ ์ •๋„;ํ•ญ์ทจ๋ฆฌ์—์„œ๋Š” ์ด๋ ฅ์„œ "๋ฆฌํŒฉํ† ๋ง"์ด๋ผ๊ณ  ์ง€์นญํ•˜๋Š”๋ฐ ๋”ฑ ์•Œ๋งž๋Š” ๋ง์ด๋‹ค. ์–ด๋””์„ ๊ฐ€ ๋ดค๋Š”๋ฐ ์–ด๋–ค ๊ณต๋ถ€ ๋˜๊ฒŒ ์ž˜ํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋ฌธ์ œ์ง‘..
๋ฌธ์ œ ์„ค๋ช…๋ฐฐ์—ด 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์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ์ œ๊ฑฐํ•˜๊ณ  ๋‚จ์€ ์ˆ˜๋“ค์„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.์ œํ•œ์‚ฌํ•ญ๋ฐฐ์—ด arr์˜ ํฌ๊ธฐ : 1,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜๋ฐฐ์—ด arr์˜ ์›์†Œ์˜ ํฌ๊ธฐ : 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ  9๋ณด๋‹ค ..
ยทTIL
์„œ๋ฅ˜ ํ•ฉ๊ฒฉ์กฐ์ฐจ ๋˜์ง€ ์•Š๋Š” ์—‰๊ฒ์˜ ์‹œ๊ฐ„์ด ์ง€๋‚˜๊ณ  ์˜จ๊ฐ– ๋ถ€์ •์  ์ƒ๊ฐ์ด ์„œ์„œํžˆ ์Šค๋ฉฐ๋“ค๊ณ  ์žˆ์„ ๋•Œ ์ฏคํ•ญํ•ด99 ์ทจ์—… ๋ฆฌ๋ถ€ํŠธ ์ฝ”์Šค ๊ด‘๊ณ ๋ฅผ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค.์šฐ์„ , ์–ผ๋ฆฌ๋ฒ„๋“œ์˜€๊ณ , ์ทจ์—… ํ›„ ๋ˆ์„ ์ง€๋ถˆํ•˜๋Š” ํ˜•์‹์ด๋ผ ๋‹น์žฅ ๋ถ€๋‹ด๋„ ์—†์—ˆ์„ ๋ฟ๋”๋Ÿฌ ํ•ญํ•ด99๋„ ์ž์„  ์‚ฌ์—…๊ฐ€๊ฐ€ ์•„๋‹ˆ๊ธฐ์— ๋ˆ์„ ๋ฒŒ๋ ค๋ฉด ๋‚˜๋ฅผ ์–ด๋–ป๊ฒŒ๋“  ์ทจ์—…์„ ์‹œ์ผœ์ฃผ๊ฒ ๊ตฌ๋‚˜ ํ•˜๋Š” ๋ง‰์—ฐํ•œ ๋ฏฟ์Œ, ๊ทธ๋ฆฌ๊ณ  ์ปค๋ฆฌํ˜๋Ÿผ๊ณผ ํ›„ํ‚น ๋ฌธ์žฅ(๋ฌผ๊ฒฝ๋ ฅ ๊ฐœ๋ฐœ์ž ์ทจ์—…)์ด ๋‚˜๋ฅผ ์‚ฌ๋กœ ์žก์•„๋ฒ„๋ ธ๋‹ค.ํ›„๊ธฐ๋„ ๋ณด์•„ํ•˜๋‹ˆ ๋งŒ์กฑํ•œ๋‹ค๋Š” ํ›„๊ธฐ๊ฐ€ ๋งŽ์•˜๋˜ ๊ฑฐ ๊ฐ™๊ณ , ์ผ๋‹จ ์ง€๋‚œ ์ž๋ฐ”์˜ ์ •์„ ๋ถ€ํŠธ์บ ํ”„์—์„œ๋Š” ์•ฝ ๋‘ ๋‹ฌ๋งŒ์— ๋ฐ˜์ด ํญํŒŒ๋˜๋Š” ์ƒ์ฒ˜๊ฐ€ ์žˆ์—ˆ๊ธฐ์— ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ณ  ์‹ถ๊ธฐ๋„ ํ–ˆ๋‹ค. ์•”ํŠผ, ์ง€๋‚œ์ฃผ ํ† ์š”์ผ ์—ญ๋Ÿ‰ํ‰๊ฐ€๋ฅผ ํ†ตํ•ด ํ•ฉ๊ฒฉํ•œ ์ธ์›๋“ค๋งŒ ๋ณธ ๊ณผ์ •์— ํ•จ๊ป˜ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜์—ฌ ์‹œํ—˜์„ ์น˜๋ค˜๋‹ค.CS ๊ธฐ๋ณธ ์ง€์‹(๊ฐ๊ด€์‹ 50๋ฌธํ•ญ)๊ณผ ๊ฐ„๋‹จํ•œ ๊ณผ์ œ๋ฅผ ์ œ์ถœ..
๋ฌธ์ œ ์„ค๋ช…๋น„๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ์ˆ˜์—ด์ด ์ฃผ์–ด์งˆ ๋•Œ, ๋‹ค์Œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ์ฐพ์œผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.๊ธฐ์กด ์ˆ˜์—ด์—์„œ ์ž„์˜์˜ ๋‘ ์ธ๋ฑ์Šค์˜ ์›์†Œ์™€ ๊ทธ ์‚ฌ์ด์˜ ์›์†Œ๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ์€ k์ž…๋‹ˆ๋‹ค.ํ•ฉ์ด k์ธ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ ๊ธธ์ด๊ฐ€ ์งง์€ ์ˆ˜์—ด์„ ์ฐพ์Šต๋‹ˆ๋‹ค.๊ธธ์ด๊ฐ€ ์งง์€ ์ˆ˜์—ด์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ ์•ž์ชฝ(์‹œ์ž‘ ์ธ๋ฑ์Šค๊ฐ€ ์ž‘์€)์— ๋‚˜์˜ค๋Š” ์ˆ˜์—ด์„ ์ฐพ์Šต๋‹ˆ๋‹ค.์ˆ˜์—ด์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด sequence์™€ ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ k๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์œ„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค์™€ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๋ฅผ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ˆ˜์—ด์˜ ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.์ œํ•œ์‚ฌํ•ญ5 ≤ sequence์˜ ๊ธธ์ด ≤ 1,000,000..
๋ฌธ์ œ ์„ค๋ช…0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ 2n x 2n ํฌ๊ธฐ์˜ 2์ฐจ์› ์ •์ˆ˜ ๋ฐฐ์—ด arr์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ด arr์„ ์ฟผ๋“œ ํŠธ๋ฆฌ์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์••์ถ•ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์ธ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.๋‹น์‹ ์ด ์••์ถ•ํ•˜๊ณ ์ž ํ•˜๋Š” ํŠน์ • ์˜์—ญ์„ S๋ผ๊ณ  ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.๋งŒ์•ฝ S ๋‚ด๋ถ€์— ์žˆ๋Š” ๋ชจ๋“  ์ˆ˜๊ฐ€ ๊ฐ™์€ ๊ฐ’์ด๋ผ๋ฉด, S๋ฅผ ํ•ด๋‹น ์ˆ˜ ํ•˜๋‚˜๋กœ ์••์ถ•์‹œํ‚ต๋‹ˆ๋‹ค.๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด, S๋ฅผ ์ •ํ™•ํžˆ 4๊ฐœ์˜ ๊ท ์ผํ•œ ์ •์‚ฌ๊ฐํ˜• ์˜์—ญ(์ž…์ถœ๋ ฅ ์˜ˆ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.)์œผ๋กœ ์ชผ๊ฐ  ๋’ค, ๊ฐ ์ •์‚ฌ๊ฐํ˜• ์˜์—ญ์— ๋Œ€ํ•ด ๊ฐ™์€ ๋ฐฉ์‹์˜ ์••์ถ•์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.arr์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ arr์„ ์••์ถ•ํ–ˆ์„ ๋•Œ, ๋ฐฐ์—ด์— ์ตœ์ข…์ ์œผ๋กœ ๋‚จ๋Š” 0์˜ ๊ฐœ์ˆ˜์™€ 1์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐฐ์—ด์— ๋‹ด์•„์„œ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.์ œํ•œ์‚ฌํ•ญarr์˜ ํ–‰์˜ ๊ฐœ์ˆ˜๋Š” 1 ..
๋ฌธ์ œ ์„ค๋ช… ๋‹ค์Œ์€ ์–ด๋Š ์˜๋ฅ˜ ์‡ผํ•‘๋ชฐ์˜ ์˜จ๋ผ์ธ ์ƒํ’ˆ ํŒ๋งค ์ •๋ณด๋ฅผ ๋‹ด์€ ONLINE_SALE ํ…Œ์ด๋ธ”๊ณผ ์˜คํ”„๋ผ์ธ ์ƒํ’ˆ ํŒ๋งค ์ •๋ณด๋ฅผ ๋‹ด์€ OFFLINE_SALE ํ…Œ์ด๋ธ” ์ž…๋‹ˆ๋‹ค. ONLINE_SALE ํ…Œ์ด๋ธ”์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ์œผ๋ฉฐ ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE๋Š” ๊ฐ๊ฐ ์˜จ๋ผ์ธ ์ƒํ’ˆ ํŒ๋งค ID, ํšŒ์› ID, ์ƒํ’ˆ ID, ํŒ๋งค๋Ÿ‰, ํŒ๋งค์ผ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. Column name Type Nullable ONLINE_SALE_ID INTEGER FALSE USER_ID INTEGER FALSE PRODUCT_ID INTEGER FALSE SALES_AMOUNT INTEGER FALSE SALES_DATE DATE FALSE ๋™์ผํ•œ ๋‚ ์งœ,..
ํ‚จ์ง€ (Kinzie)
'์ฝ”๋”ฉํ…Œ์ŠคํŠธ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก