์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 67

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 42885] ๊ตฌ๋ช…๋ณดํŠธ (Javascript)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 42885] ๊ตฌ๋ช…๋ณดํŠธ (Javascript) โœ๏ธIdea Sketch 2021-07-12 1. ๋ฌธ์ œ ์ดํ•ด ๊ตฌ๋ช…๋ณดํŠธ๋ฅผ ์ตœ๋Œ€ํ•œ ์ ๊ฒŒ ์‚ฌ์šฉ 2. ๋ชธ๋ฌด๊ฒŒ ์ •๋ ฌ 3. ๋กœ์ง ๋ชธ๋ฌด๊ฒŒ ์ž‘์€ ์‚ฌ๋žŒ๋“ค๋ผ๋ฆฌ ๋ชจ์•„์„œ ๋ณด๋‚ด๊ธฐ ๋ชธ๋ฌด๊ฒŒ ์ž‘์€ ์‚ฌ๋žŒ, ๋ชธ๋ฌด๊ฒŒ ํฐ ์‚ฌ๋žŒ ์ง์ง€์–ด์„œ ๋ณด๋‚ด๊ธฐ 4. ๋ฌธ์ œ์  ๋ชธ๋ฌด๊ฒŒ ์ž‘์€ ์‚ฌ๋žŒ๋“ค๋ผ๋ฆฌ ๋ชจ์•„์„œ ๋ณด๋‚ด๊ณ  ๋‚˜๋ฉด, limit/2๊ฐ€ ๋„˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ํ•œ๋ช…์”ฉ ๋ณด๋‚ด์•ผ ํ•จ ๋ชธ๋ฌด๊ฒŒ ์ž‘์€ ์‚ฌ๋žŒ, ํฐ ์‚ฌ๋žŒ ์ง์ง€์–ด์„œ ๋ณด๋‚ผ ๊ฒฝ์šฐ [50, 50, 70, 80] ์ž…์ถœ๋ ฅ ์˜ˆ 1๋ฒˆ์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์Œ 5. ๋กœ์ง limit/2๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‘ ๋ถ„๋ฅ˜๋กœ ๋‚˜๋ˆ” limit/2์—์„œ left, right๊ฐ€ ๋‚˜์˜ด -> arr.indexOf(limit/2) ์ด๊ฑฐ๋ฅผ ์“ธ ์ˆ˜๋„ ์—†๊ณ  ๋ง์ด์ง€..? ์ขŒ, ์šฐ์—์„œ left, right su..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 42586] ๊ธฐ๋Šฅ๊ฐœ๋ฐœ (Javascript)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 42586] ๊ธฐ๋Šฅ๊ฐœ๋ฐœ (Javascript) โœ๏ธIdea Sketch 2021-07-09 1. ๋ฌธ์ œ ์ดํ•ด ๊ฐ ๋ฐฐํฌ๋งˆ๋‹ค ๋ช‡ ๊ฐœ์˜ ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋˜๋Š”์ง€ ๋จผ์ € ์‹œ์ž‘ํ•œ ์ž‘์—…์ด ๋จผ์ € ๋ฐฐํฌ๋˜๋ฏ€๋กœ FIFO, queue๋กœ ๊ตฌํ˜„ (push, shift) ๋ชจ๋“  ์ž‘์—…์ผ์„ queue์— push 2. ๋ชจ๋“  ์ž‘์—…์ผ์„ ๊ณ„์‚ฐํ•œ ํ›„ ๋กœ์ง ์ „์ฒด์ž‘์—…์ผ = queue.shift(), cnt++ ๊ทธ ๋‹ค์Œ ์ž‘์—…์ผ์ด ์ „์ฒด์ž‘์—…์ผ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์„ ๊ฒฝ์šฐ, queue.shift(), cnt++ ๊ทธ ๋‹ค์Œ ์ž‘์—…์ผ์ด ์ „์ฒด์ž‘์—…์ผ๋ณด๋‹ค ํด ๊ฒฝ์šฐ, res ๋ฐฐ์—ด์— push, ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐ˜๋ณต queue๊ฐ€ ๋น„์—ˆ์„ ๊ฒฝ์šฐ return res; 3. ์ž‘์—…์ผ ๊ณ„์‚ฐํ•˜๋Š” ๋กœ์ง for(let i=0; i

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 42578] ์œ„์žฅ (Javascript)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 42578] ์œ„์žฅ (Javascript) โœ๏ธIdea Sketch 2021-07-08 1. ๋ฌธ์ œ ์ดํ•ด ๋งค์ผ ๋‹ค๋ฅธ ์˜ท์„ ์ž…์„ ๊ฒƒ ํ•œ๊ฐ€์ง€ ์ข…๋ฅ˜๋งŒ ์ž…์–ด๋„ ๋จ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ์˜ท์€ ๋ฐ˜๋“œ์‹œ ์ตœ๋Œ€ ํ•˜๋‚˜๋งŒ ์ž…์Œ ์ด๋ฆ„์ด ๊ฐ™์€ ์˜ท์€ ์กด์žฌํ•˜์ง€ ์•Š์Œ 2. ๋กœ์ง ์ดํ•ด 1 ์˜ท ์ข…๋ฅ˜๋ณ„๋กœ ๋ช‡๊ฐ€์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ์ •๋ฆฌ : Map() ํ•œ๊ฐ€์ง€๋งŒ ์ž…๊ฑฐ๋‚˜, ๋‘๊ฐ€์ง€๋ฅผ ์ž…๊ฑฐ๋‚˜, … ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ 3. ๋กœ์ง ์ดํ•ด 2 : headgear์— ํ•ด๋‹นํ•˜๋Š” ์˜์ƒ์ด yellow_hat, green_turban์ผ ๊ฒฝ์šฐ yellow_hat์„ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ, green_turban์„ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ, ์•„๋ฌด๊ฒƒ๋„ ์„ ํƒํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ด 3๊ฐ€์ง€ ์•„๋ฌด๊ฒƒ๋„ ์„ ํƒํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ํฌํ•จ 4. ๊ฒฝ์šฐ์˜ ์ˆ˜ ๊ตฌํ•˜๊ธฐ ๊ณต์ง‘ํ•ฉ ํฌํ•จ ์•ˆ๋˜๋ฏ€๋กœ(์ตœ์†Œ ํ•œ..

[์ธํ”„๋Ÿฐ ์„น์…˜9] ๊ฒฝ๋กœํƒ์ƒ‰ ์ธ์ ‘ํ–‰๋ ฌ (Javascript)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [์ธํ”„๋Ÿฐ ์„น์…˜] ๊ฒฝ๋กœํƒ์ƒ‰ ์ธ์ ‘ํ–‰๋ ฌ (Javascript) ์œ ๋ฃŒ ๊ฐ•์˜์ธ ๊ด€๊ณ„๋กœ ๋ฌธ์ œ ์„ค๋ช…์€ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. โœ๏ธIdea Sketch 2021-06-30 1. 1๋ฒˆ ์ •์ ์—์„œ N๋ฒˆ ์ •์ ์œผ๋กœ ๊ฐ€๋Š” ๋ชจ๋“  ๊ฒฝ๋กœ์˜ ๊ฐ€์ง€ ์ˆ˜ 2. DFS ์ข…๋ฃŒ์กฐ๊ฑด v๊ฐ€ 5์ผ ๋•Œ ์ข…๋ฃŒ if (v === n) return; 3. DFS ๋กœ์ง DFS(v) v๋Š” ์ •์  for() ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด ์‹œ์ž‘์ ์ด v์ธ ๋ชจ๋“  ๋ฐฐ์—ด ์ˆ˜ํ–‰ for (let x of arr) { if (x[0] === v) { arr.push(v); DFS(x[1]); arr.pop(); } } 4. 1 -> 2 -> 4 -> 1 ์ฒ˜๋Ÿผ ๊ณ„์† ์ˆœํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ visited ๋ฐฐ์—ด ์ถ”๊ฐ€ visited๊ฐ€ false์ธ ๊ฒฝ์šฐ์—๋งŒ DFS ์ˆ˜ํ–‰ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ๋งŒ ๋ฐฉ๋ฌธ let v..

[์ธํ”„๋Ÿฐ ์„น์…˜8] ์ˆ˜๋“ค์˜ ์กฐํ•ฉ (Javascript)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [์ธํ”„๋Ÿฐ ์„น์…˜8] ์ˆ˜๋“ค์˜ ์กฐํ•ฉ (Javascript) ์œ ๋ฃŒ ๊ฐ•์˜์ธ ๊ด€๊ณ„๋กœ ๋ฌธ์ œ ์„ค๋ช…์€ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. โœ๏ธIdea Sketch 2021-06-30 1. K๊ฐœ๋ฅผ ๋ฝ‘๋Š” ์กฐํ•ฉ์˜ ํ•ฉ์ด ์ž„์˜์˜ ์ •์ˆ˜ M์˜ ๋ฐฐ์ˆ˜์ธ ๊ฐœ์ˆ˜ 2. DFS ์ข…๋ฃŒ์กฐ๊ฑด ๋ฝ‘๋Š” ํšŸ์ˆ˜ v >= k ์ธ ๊ฒฝ์šฐ, return; sum % m === 0์ธ ๊ฒฝ์šฐ, cnt++; if (v >= k) { if (sum % m === 0) cnt++; return; } 3. DFS ๋กœ์ง ์กฐํ•ฉ์„ ๊ตฌํ•˜๋ฏ€๋กœ ์ค‘๋ณตX DFS ๋งค๊ฐœ๋ณ€์ˆ˜ : ๋ฝ‘์€ ํšŸ์ˆ˜ v, ์ด์ „์— ๋ฝ‘์€ arr ์›์†Œ์˜ ์ธ๋ฑ์Šค u for (let i=u+1; i= k) { if (sum % m === 0) cnt++; return; } for (let i = u + 1; i < arr.length; ..

[์ธํ”„๋Ÿฐ ์„น์…˜8] ์กฐํ•ฉ ๊ตฌํ•˜๊ธฐ (Javascript)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [์ธํ”„๋Ÿฐ ์„น์…˜8] ์กฐํ•ฉ ๊ตฌํ•˜๊ธฐ (Javascript) ์œ ๋ฃŒ ๊ฐ•์˜์ธ ๊ด€๊ณ„๋กœ ๋ฌธ์ œ ์„ค๋ช…์€ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. โœ๏ธIdea Sketch 2021-06-30 1. M๊ฐœ๋ฅผ ๋ฝ‘๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ 2. DFS ์ข…๋ฃŒ์กฐ๊ฑด DFS ๋งค๊ฐœ๋ณ€์ˆ˜ v : ๊ตฌ์Šฌ ๋ฝ‘์€ ํšŸ์ˆ˜ v >= m ์ด๋ฉด return 3. DFS ๋‚ด๋ถ€๋กœ์ง let res = [] v๋Š” ๋ฝ‘๋Š” ํšŸ์ˆ˜ ์ด๋ฏ€๋กœ ๋ฝ‘๋Š” ์ˆซ์ž๋Š” for ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ [3, 4], [4, 3] ๊ฐ™์ด ์ค‘๋ณตx ์ด์ „์— ๋ฝ‘์€ ์ˆซ์ž์ •๋ณด ํ•„์š” --> DFS ๋‘๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜ u for (let i = u + 1; i = m) { console.log(res.join(' ')); cnt++; return; } for (let i = u + 1; i

[์ธํ”„๋Ÿฐ ์„น์…˜8] ์กฐํ•ฉ์˜ ๊ฒฝ์šฐ์ˆ˜ (Javascript)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [์ธํ”„๋Ÿฐ ์„น์…˜8] ์กฐํ•ฉ์˜ ๊ฒฝ์šฐ์ˆ˜ (Javascript) ์œ ๋ฃŒ ๊ฐ•์˜์ธ ๊ด€๊ณ„๋กœ ๋ฌธ์ œ ์„ค๋ช…์€ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. โœ๏ธIdea Sketch 2021-06-30 1. ์žฌ๊ท€๋ฅผ ์ด์šฉํ•ด ์กฐํ•ฉ์ˆ˜ ๊ตฌํ•˜๊ธฐ 2. DFS ์ข…๋ฃŒ์กฐ๊ฑด ๋งค๊ฐœ๋ณ€์ˆ˜ = n, r r ๋˜๋Š” n-r์ด 1์ธ ๊ฒฝ์šฐ, return n 5C1 = 5C4 = 5!/4! = 5 3. DFS ๋‚ด๋ถ€๋กœ์ง nCr = n-1Cr-1 + n-1Cr DFS(n-1, r-1), DFS(n-1, r) โœ๏ธ์†Œ์Šค์ฝ”๋“œ 2021-06-30 let c = 0; function DFS(n, r) { if (r === 1 || n - r === 1) { c += n; return; } DFS(n - 1, r - 1); DFS(n - 1, r); } DFS(33, 19); console.l..

[์ธํ”„๋Ÿฐ ์„น์…˜8] ํŒฉํ† ๋ฆฌ์–ผ (Javascript)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [์ธํ”„๋Ÿฐ ์„น์…˜8] ํŒฉํ† ๋ฆฌ์–ผ (Javascript) ์œ ๋ฃŒ ๊ฐ•์˜์ธ ๊ด€๊ณ„๋กœ ๋ฌธ์ œ ์„ค๋ช…์€ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. โœ๏ธIdea Sketch 2021-06-29 1. ํŒฉํ† ๋ฆฌ์–ผ ์ถœ๋ ฅํ•˜๊ธฐ 2. for ๋ฐ˜๋ณต๋ฌธ, ์ดˆ๊ธฐ๊ฐ’ 1 3. ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์ข…๋ฃŒ์กฐ๊ฑด if (v > n) return; ๋‚ด๋ถ€๋กœ์ง res *= v; โœ๏ธ์†Œ์Šค์ฝ”๋“œ 2021-06-29 ๋ฐ˜๋ณต๋ฌธ function factorial(n) { let res = 1; for (let i = 1; i n) return; res *= v; DFS(v + 1); } DFS(1); console.log(res);

[์ธํ”„๋Ÿฐ ์„น์…˜8] ์ˆœ์—ด ๊ตฌํ•˜๊ธฐ (Javascript)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [์ธํ”„๋Ÿฐ ์„น์…˜8] ์ˆœ์—ด ๊ตฌํ•˜๊ธฐ (Javascript) ์œ ๋ฃŒ ๊ฐ•์˜์ธ ๊ด€๊ณ„๋กœ ๋ฌธ์ œ ์„ค๋ช…์€ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. โœ๏ธIdea Sketch 2021-06-29 1. m๊ฐœ ๋ฝ‘์•„์„œ ๋‚˜์—ดํ•˜๊ธฐ ์ค‘๋ณต ํ—ˆ์šฉX 2. DFS ์ข…๋ฃŒ์กฐ๊ฑด DFS ๋งค๊ฐœ๋ณ€์ˆ˜ v : ๋ฝ‘๋Š” ํšŸ์ˆ˜ DFS(1); ์ดˆ๊ธฐ๊ฐ’ if (v > m) { console.log(res); return ; } 3. DFS ๋กœ์ง ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” for() ๋ฐฉ๋ฒ• 1. arr.includes() ์‚ฌ์šฉ for (let i=0; i m) { console.log(res.join(' ')); cnt++; return; } for (let i = 0; i < arr.length; i++) { if (res.includes(arr[i])) continue; res.push(..

[์ธํ”„๋Ÿฐ ์„น์…˜8] ๋™์ „๊ตํ™˜ (Javascript)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [์ธํ”„๋Ÿฐ ์„น์…˜8] ๋™์ „๊ตํ™˜ (Javascript) ์œ ๋ฃŒ ๊ฐ•์˜์ธ ๊ด€๊ณ„๋กœ ๋ฌธ์ œ ์„ค๋ช…์€ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. โœ๏ธIdea Sketch 2021-06-29 1. ๊ฐ€์žฅ ์ ์€ ์ˆ˜์˜ ๋™์ „์œผ๋กœ ๊ตํ™˜ DP์ธ์ง€ ๊ทธ๋ฆฌ๋””์ธ์ง€ ํ—ท๊ฐˆ๋ฆผ 2. DFS ์ข…๋ฃŒ์กฐ๊ฑด ์ค‘๋ณต์ˆœ์—ด๋กœ ๊ตฌํ˜„ (for ๋ฐ˜๋ณต๋ฌธ) ๊ฑฐ์Šค๋ฆ„๋ˆ์ด target๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ์ข…๋ฃŒ --> Math.min()์„ ์จ์•ผํ•˜๋‚˜? ๊ฑฐ์Šค๋ฆ„๋ˆ์ด target๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ, ๋™์ „์„ ๋ฝ‘์€ ํšŸ์ˆ˜์ธ v๋ฅผ ์ถœ๋ ฅ if (sum >= target) { if (sum === target) console.log(v); return; } 3. DFS ๋กœ์ง ์ค‘๋ณต๊ฐ€๋Šฅ์ด๋ฏ€๋กœ, v๋Š” ๋ฝ‘์€ ์ˆซ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฝ‘์€ ํšŸ์ˆ˜ for ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ for (let i=0; i= target) { if (sum === tar..