[JavaScript/section 2] 07 - ๋ด‰์šฐ๋ฆฌ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ ์ง€๋„ ์ •๋ณด๊ฐ€ N*N ๊ฒฉ์žํŒ์— ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๊ฒฉ์ž์—๋Š” ๊ทธ ์ง€์—ญ์˜ ๋†’์ด๊ฐ€ ์“ฐ์—ฌ์žˆ๋‹ค. ๊ฐ ๊ฒฉ์žํŒ์˜ ์ˆซ์ž ์ค‘ ์ž์‹ ์˜ ์ƒํ•˜์ขŒ์šฐ ์ˆซ์ž๋ณด๋‹ค ํฐ ์ˆซ์ž๋Š” ๋ด‰์šฐ๋ฆฌ ์ง€์—ญ์ด๋‹ค. ๋ด‰์šฐ๋ฆฌ ์ง€์—ญ์ด ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ์•Œ์•„๋‚ด๋Š” ๋ฌธ์ œ์ด๋‹ค. ๊ฒฉ์ž์˜ ๊ฐ€์žฅ์ž๋ฆฌ๋Š” 0์œผ๋กœ ์ดˆ๊ธฐํ™” ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ๋งŒ์•ฝ N = 5์ด๊ณ , ๊ฒฉ์žํŒ์˜ ์ˆซ์ž๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด ๋ด‰์šฐ๋ฆฌ์˜ ๊ฐœ์ˆ˜๋Š” 10๊ฐœ์ด๋‹ค. 0 0 0 0 0 0 0 0 5 3 7 2 3 0 0 3 7 1 6 1 0 0 7 2 5 3 4 0 0 4 3 6 4 1 0 0 8 7 3 5 2 0 0 0 0 0 0 0 0 ์ƒํ•˜์ขŒ์šฐ๋ฅผ ํŒ๋ณ„ํ•  ๋•Œ๋Š” dx = [-1, 0 ,1, 0], dy = [0, 1, 0, -1]๊ณผ ๊ฐ™์ด ๋ฐฉํ–ฅ ๋ฒกํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ์„ค์ •ํ•ด์ฃผ๋ฉด ์ข‹๋‹ค. ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ๋‚˜์˜ ํ’€์ด ๋ฐฉ๋ฒ• num์„ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ ํ›„ ๊ฒฉ..
[JavaScript/section 2] 06 - ๊ฒฉ์žํŒ ์ตœ๋Œ€ํ•ฉ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ 5 * 5 ๊ฒฉ์žํŒ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆซ์ž๊ฐ€ ์ ํ˜€์žˆ๋‹ค. N * N์˜ ๊ฒฉ์žํŒ์ด ์ฃผ์–ด์ง€๋ฉด ๊ฐ ํ–‰์˜ ํ•ฉ, ๊ฐ ์—ด์˜ ํ•ฉ, ๋‘ ๋Œ€๊ฐ์„ ์˜ ํ•ฉ ์ค‘ ๊ฐ€์žฅ ํฐ ํ•ฉ์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. 1๏ธโƒฃ ์ด์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ํ–‰์˜ ํ•ฉ, ๊ฐ ์—ด์˜ ํ•ฉ์„ ๊ตฌํ•˜๊ณ , answer ๋ณ€์ˆ˜์˜ ๊ฐ’๊ณผ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ answer ๋ณ€์ˆ˜์— ์žฌํ• ๋‹นํ•œ๋‹ค. 2๏ธโƒฃ ๋Œ€๊ฐ์„ ์€ ์ขŒ์ธก ์ƒ๋‹จ์—์„œ ์šฐ์ธก ํ•˜๋‹จ ๋ฐฉํ–ฅ์˜ ๋Œ€๊ฐ์„  arr[i][i]๊ณผ ์šฐ์ธก ์ƒ๋‹จ์—์„œ ์ขŒ์ธก ํ•˜๋‹จ ๋ฐฉํ–ฅ์˜ ๋Œ€๊ฐ์„  arr[i][n - (i+1)]์„ ๊ตฌํ•˜๊ณ , ์ตœ์ข…์ ์œผ๋กœ answer ๋ณ€์ˆ˜์˜ ๊ฐ’๊ณผ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ ํฐ ํ•ฉ์„ ์ฐพ๋Š”๋‹ค. ๐Ÿ“ ํ’€์ด function solution(arr) { let answer = Number.MIN_SAFE_INTEGER; const n = arr.length; le..
[JavaScript/section 2] 05 - ๋“ฑ์ˆ˜ ๊ตฌํ•˜๊ธฐ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ N๋ช…์˜ ํ•™์ƒ์˜ ๊ตญ์–ด์ ์ˆ˜๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ๊ฐ ํ•™์ƒ์˜ ๋“ฑ์ˆ˜๋ฅผ ์ž…๋ ฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๊ฐ ํ•™์ƒ์˜ ๋“ฑ์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ž…๋ ฅ๋œ ๋ฐฐ์—ด์˜ ๊ธธ์ด(n)์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ๋ชจ๋“  ์š”์†Œ๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. ์ด์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด ๊ฐ๊ฐ์˜ ์š”์†Œ๋“ค์ด ์ž๊ธฐ ์ž์‹ ์„ ์ œ์™ธํ•œ ๋ฐฐ์—ด์— ๋“ค์–ด์žˆ๋Š” ๋ชจ๋“  ์š”์†Œ์™€ ๋น„๊ตํ•˜๋„๋ก ํ•œ๋‹ค. ์ž์‹ ๋ณด๋‹ค ํฐ ์š”์†Œ๊ฐ€ ์กด์žฌํ•˜๋ฉด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ํ•ด๋‹น(๊ธฐ์ค€์ด ๋˜๋Š”, ๋ณ€์ˆ˜ i) ์ธ๋ฐ์Šค์˜ ๊ฐ’์— + 1 ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๐Ÿ“ ํ’€์ด function solution(arr) { const n = arr.length; const answer = new Array(n).fill(1); // const answer = Array.from({ length: n }, () => 1); for (let i =..
[JavaScript/section 2] 04 - ์ ์ˆ˜ ๊ณ„์‚ฐ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ OX ๋ฌธ์ œ๋Š” ๋งž๊ฑฐ๋‚˜ ํ‹€๋ฆฐ ๋‘ ๊ฒฝ์šฐ์˜ ๋‹ต์„ ๊ฐ€์ง€๋Š” ๋ฌธ์ œ๋ฅผ ๋งํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ OX ๋ฌธ์ œ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‹œํ—˜์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‹ต์„ ๋งžํžˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ฐ€์‚ฐ์ ์„ ์ฃผ๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ์ˆ˜ ๊ณ„์‚ฐ์„ ํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. 1๋ฒˆ ๋ฌธ์ œ๊ฐ€ ๋งž๋Š” ๊ฒฝ์šฐ์—๋Š” 1์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ์•ž์˜ ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ต์„ ํ‹€๋ฆฌ๋‹ค๊ฐ€ ๋‹ต์ด ๋งž๋Š” ์ฒ˜์Œ ๋ฌธ์ œ๋Š” 1์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ๋˜ํ•œ, ์—ฐ์†์œผ๋กœ ๋ฌธ์ œ์˜ ๋‹ต์ด ๋งž๋Š” ๊ฒฝ์šฐ์—์„œ ๋‘ ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” 2์ , ์„ธ ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” 3์ , ..., K๋ฒˆ์งธ ๋ฌธ์ œ๋Š” K์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ํ‹€๋ฆฐ ๋ฌธ์ œ๋Š” 0์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์ด 10๊ฐœ์˜ OX ๋ฌธ์ œ์—์„œ ๋‹ต์ด ๋งž์€ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ์—๋Š” 1๋กœ ํ‘œ์‹œํ•˜๊ณ , ํ‹€๋ฆฐ ๊ฒฝ์šฐ์—๋Š” 0์œผ๋กœ ํ‘œ์‹œํ•˜์˜€์„ ๋•Œ, ์ ์ˆ˜ ๊ณ„์‚ฐ์€ ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์ด ๊ณ„์‚ฐ๋˜์–ด, ์ด์ ์ˆ˜๋Š” 1 + 1 + 2 + 3 + 1 + ..
[JavaScript/section 2] 03 - ๊ฐ€์œ„ ๋ฐ”์œ„ ๋ณด
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ A, B ๋‘ ์‚ฌ๋žŒ์ด ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๊ฒŒ์ž„์„ ํ•œ๋‹ค. ์ด N๋ฒˆ์˜ ๊ฒŒ์ž„์„ ํ•˜์—ฌ A๊ฐ€ ์ด๊ธฐ๋ฉด A๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , B๊ฐ€ ์ด๊ธฐ๋ฉด B๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋น„๊ธธ๊ฒฝ์šฐ์—๋Š” D๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ฐ€์œ„, ๋ฐ”์œ„, ๋ณด์˜ ์ •๋ณด๋Š” 1: ๊ฐ€์œ„, 2: ๋ฐ”์œ„, 3: ๋ณด๋กœ ์ •ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด N = 5์ด๋ฉด ํšŒ์ˆ˜ 1 2 3 4 5 A์˜ ์ •๋ณด 2 3 3 1 3 B์˜ ์ •๋ณด 1 1 2 2 3 ์Šน์ž A B A B D ๋‘ ์‚ฌ๋žŒ์˜ ๊ฐ ํšŒ์˜ ๊ฐ€์œ„, ๋ฐ”์œ„, ๋ณด ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๊ฐ ํšŒ๋ฅผ ๋ˆ„๊ฐ€ ์ด๊ฒผ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋‚˜๋Š” ๊ฐ€์œ„๋ฐ”์œ„๋ณด์—์„œ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ์•„ if ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฌธ์ œ๋Š” ๊ธฐ์ค€ ํ•˜๋‚˜๋ฅผ ์ž˜ ์ •ํ•œ๋‹ค๋ฉด ์ฝ”๋“œ๋ฅผ ๋งŽ์ด ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ๋น„๊ธธ ๊ฒฝ์šฐ, A๊ฐ€ ์ด๊ฒผ์„ ๊ฒฝ์šฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค๋ฉด ๋‚˜๋จธ์ง€๋Š” B๊ฐ€ ์ด๊ฒผ์„ ๊ฒฝ์šฐ์ด๊ธฐ ๋•Œ..
[JavaScript/section 2] 02 - ๋ณด์ด๋Š” ํ•™์ƒ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ ์„ ์ƒ๋‹˜์ด N๋ช…์˜ ํ•™์ƒ์„ ์ผ๋ ฌ๋กœ ์„ธ์› ๋‹ค. ์ผ๋ ฌ๋กœ ์„œ ์žˆ๋Š” ํ•™์ƒ์˜ ํ‚ค๊ฐ€ ์•ž์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋งจ ์•ž์— ์„œ ์žˆ๋Š” ์„ ์ƒ๋‹˜์ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ•™์ƒ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. (์•ž์— ์„œ ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค๋ณด๋‹ค ํฌ๋ฉด ๋ณด์ด๊ณ , ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค.) ์ œ์ผ ์•ž์— ์žˆ๋Š” ํ•™์ƒ์˜ ํ‚ค๋ฅผ max ๋ณ€์ˆ˜์— ํ• ๋‹นํ•œ ํ›„ ๋’ค์— ์žˆ๋Š” ํ•™์ƒ๋“ค์˜ ํ‚ค์™€ ๋น„๊ตํ•œ๋‹ค. for ๋ฌธ์„ ๋Œ๋ฉด์„œ arr[i]๊ฐ€ max ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๊ฐ’๋ณด๋‹ค ํด ๊ฒฝ์šฐ max ๋ณ€์ˆ˜์— ๊ฐ’์„ ์žฌํ• ๋‹นํ•˜๊ณ , answer ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๊ฐ’์— 1์„ ๋”ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๐Ÿ“ ํ’€์ด function solution(arr) { let answer = 1, max = arr[0]; for (let i = 1; i < arr.length; i++) { if (max < arr[i]) { ..
[JavaScript/section 2] 01 - ํฐ ์ˆ˜ ์ถœ๋ ฅํ•˜๊ธฐ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ N๊ฐœ์˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„, ์ž์‹ ์˜ ๋ฐ”๋กœ ์•ž ์ˆ˜๋ณด๋‹ค ํฐ ์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. (์ฒซ ๋ฒˆ์งธ ์ˆ˜๋Š” ๋ฌด์กฐ๊ฑด ์ถœ๋ ฅํ•œ๋‹ค.) ์ฒซ ๋ฒˆ์งธ ์ˆ˜๋Š” ๋ฏธ๋ฆฌ ๋ฐฐ์—ด์— ์ถ”๊ฐ€๋ฅผ ์‹œ์ผœ์ค€ ํ›„ for ๋ฌธ์„ ๋Œ๋ฉด์„œ ์ž์‹ ์˜ ๋ฐ”๋กœ ์•ž ์ˆ˜๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ, push() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค. ๐Ÿ“ ํ’€์ด function solution(arr) { const answer = []; answer.push(arr[0]); for (let i = 1; i < arr.length; i++) { if (arr[i - 1] < arr[i]) answer.push(arr[i]); } return answer.join(' '); } let arr = [7, 3, 9, 5, 6, 12]; console.log(solution(arr));
[JavaScript/section 1] 17 - ์ค‘๋ณต๋‹จ์–ด์ œ๊ฑฐ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ N๊ฐœ์˜ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ๋˜๋ฉด ์ค‘๋ณต๋œ ๋ฌธ์ž์—ด์€ ์ œ๊ฑฐํ•˜๊ณ  ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ž์—ด์€ ์›๋ž˜์˜ ์ž…๋ ฅ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•œ๋‹ค. filter() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด์— ์ ํ•ฉํ•œ ์š”์†Œ๋งŒ ํฌํ•จ๋œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜๋ฐ›๋Š”๋‹ค. ์กฐ๊ฑด์˜ ๊ฒฝ์šฐ ์ค‘๋ณต๋ฌธ์ž์ œ๊ฑฐ ๋ฌธ์ œ์—์„œ ์‚ฌ์šฉํ•œ indexOf() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ๐Ÿ“ ํ’€์ด // filter() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐฉ๋ฒ• function solution(s) { let answer; answer = s.filter((str, i) => { return i === s.indexOf(str); }); return answer; } const str = ['good', 'time', 'good', 'time', 'student']; console.log(solution(str)); ..
_์„ฑํ˜ธ_
'Inflearn' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก (9 Page)