[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž…๋ฌธ : 2์ฐจ์›์œผ๋กœ ๋งŒ๋“ค๊ธฐ
ยท
JavaScript & TypeScript/๐Ÿงฉ Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/120842 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ๋ฌธ์ œ ์ •์ˆ˜ ๋ฐฐ์—ด num_list์™€ ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. num_list๋ฅผ ๋‹ค์Œ ์„ค๋ช…๊ณผ ๊ฐ™์ด 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๋ฐ”๊ฟ” returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. num_list๊ฐ€ [1, 2, 3, 4, 5, 6, 7, 8] ๋กœ ๊ธธ์ด๊ฐ€ 8์ด๊ณ  n์ด 2์ด๋ฏ€๋กœ num_list๋ฅผ 2 * 4 ๋ฐฐ์—ด๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. 2์ฐจ์›์œผ๋กœ ๋ฐ”๊ฟ€ ๋•Œ์—๋Š” num_list์˜ ์›์†Œ๋“ค์„ ์•ž์—์„œ๋ถ€ํ„ฐ n๊ฐœ์”ฉ ๋‚˜๋ˆ  2์ฐจ์› ๋ฐฐ์—ด๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. num_li..
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž…๋ฌธ : ์ œ๊ณฑ์ˆ˜ ํŒ๋ณ„ํ•˜๊ธฐ (Math.sqrt)
ยท
JavaScript & TypeScript/๐Ÿงฉ Algorithm
9.18 ํ•˜๋ฃจ์— ํ•˜๋‚˜๋ผ๋„ ๊ผญ ์ฝ”ํ…Œ ํ’€๊ธฐ!(์ž…๋ฌธ์€ ์–ผ๋ฅธ ๋๋‚ด๋ฒ„๋ฆฌ๊ณ  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋„ ํ’€์–ด๋ด์•ผ ํ• ํ…๋ฐ์ผ๋‹จ ์ž๊ฒฉ์ฆ ์‹œํ—˜ ๊ณต๋ถ€๋„ ์žˆ๊ณ  ์•Œ๋ฐ”๋„ ํ•˜๊ณ  ์žˆ์–ด์„œ.. 10์›”์— ์‹œํ—˜์ด ๋๋‚˜๋ฉด ํ•ด์•ผํ•  ๊ฒŒ ๋งŽ๊ฒ ๋‹ค.) ์ฝ”ํ…Œ ์ž…๋ฌธ ๋ฌธ์ œ - ์ œ๊ณฑ์ˆ˜ ํŒ๋ณ„ํ•˜๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr โ“ ๋ฌธ์ œ์–ด๋–ค ์ž์—ฐ์ˆ˜๋ฅผ ์ œ๊ณฑํ–ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” ์ •์ˆ˜๋ฅผ ์ œ๊ณฑ์ˆ˜๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n์ด ์ œ๊ณฑ์ˆ˜๋ผ๋ฉด 1์„ ์•„๋‹ˆ๋ผ๋ฉด 2๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ 1 ≤ n ≤ 1,000,000  ๐Ÿช„ ๋‚ด ์ฝ”๋“œfunction solution(n) {..
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ ์ž…๋ฌธ : ๋ฐฐ์—ด ๋’ค์ง‘๊ธฐ (Array.reverse, unshift ๋“ฑ)
ยท
JavaScript & TypeScript/๐Ÿงฉ Algorithm
8.26 ์ฝ”ํ…Œ ์ž…๋ฌธ ๋ฌธ์ œ - ๋ฐฐ์—ด ๋’ค์ง‘๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr๊ฐ„๋‹จํžˆ ํ’€ ์ˆ˜ ์žˆ์ง€๋งŒ ์ƒ๊ฐ๋ณด๋‹ค ํ’€์ด๊ฐ€ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ์˜€๋‹ค! โ“ ๋ฌธ์ œ์ •์ˆ˜๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๋ฐฐ์—ด num_list๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. num_list์˜ ์›์†Œ์˜ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘์€ ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.   ๐Ÿช„ ๋‚ด ์ฝ”๋“œfunction solution(num_list) { let answer = []; for (let i = num_list.length-1; i >= 0; i--) { answer.push(num..
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ ์ž…๋ฌธ : ๋ฐฐ์—ด์˜ ์œ ์‚ฌ๋„ (Array.filter, includes ๋ฉ”์„œ๋“œ)
ยท
JavaScript & TypeScript/๐Ÿงฉ Algorithm
8.21 ์ฝ”ํ…Œ ์ž…๋ฌธ ๋ฌธ์ œ - ๋ฐฐ์—ด์˜ ์œ ์‚ฌ๋„์•Œ๋“ฏ ๋ง๋“ฏํ•˜๋‹ค๊ฐ€.. ์†”์งํžˆ ๋ฐ”๋กœ filter ๋ฉ”์„œ๋“œ๋ฅผ ์จ์•ผ๊ฒ ๋‹ค๊ณ  ๋– ์˜ฌ๋ ธ๋˜ ๊ฑด ์•„๋‹ˆ์ง€๋งŒ ๐Ÿ˜…์—ฌํŠผ ๋‚˜๋จธ์ง€๋Š” ์Šค์Šค๋กœ ์จ์„œ ํ•ด๊ฒฐ! (์ผ๋‹จ ๋ฐฐ์—ด ์›์†Œ์— ์กฐ๊ฑด์„ ๋‹ฌ์•„์•ผ ํ•œ๋‹ค๋ฉด filter์„ ์ƒ๊ฐํ•˜์ž)  โ“ ๋ฌธ์ œ๋‘ ๋ฐฐ์—ด์ด ์–ผ๋งˆ๋‚˜ ์œ ์‚ฌํ•œ์ง€ ํ™•์ธํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ๋ฐฐ์—ด s1๊ณผ s2๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๊ฐ™์€ ์›์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.  ๐Ÿช„ ๋‚ด ์ฝ”๋“œfunction solution(s1, s2) { return s1.filter(x => s2.includes(x)).length;}๋ฐฐ์—ด ๋ฉ”์„œ๋“œ filter, includes, length ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.s1 ๋ฐฐ์—ด์˜ ์›์†Œ ์ค‘,  s2 ๋ฐฐ์—ด์—๋„ ํฌํ•จ๋œ (includes) ์›์†Œ์ด๋ฉด ๊ณจ๋ผ๋‚ด์„œ (fi..
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž…๋ฌธ : ์ง์ˆ˜๋Š” ์‹ซ์–ด์š” (๊ฐ„๋‹จ for๋ฌธ, Array.from ๋“ฑ ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ)
ยท
JavaScript & TypeScript/๐Ÿงฉ Algorithm
8.5  ์ฝ”ํ…Œ ์ž…๋ฌธ ๋ฌธ์ œ - ์ง์ˆ˜๋Š” ์‹ซ์–ด์š”  ๊ฐ„๋‹จํ•˜๊ณ  ์‰ฌ์šด ๋ฌธ์ œ.โ“ ๋ฌธ์ œ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n ์ดํ•˜์˜ ํ™€์ˆ˜๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‹ด๊ธด ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.  ๐Ÿช„ ๋‚ด ์ฝ”๋“œfunction solution(n) { let answerArr = []; for (let i = 1; i  array ๋ฅผ ์ƒ์„ฑํ•œ ํ›„  for ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด 1๋ถ€ํ„ฐ n๊นŒ์ง€, 2์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜ (ํ™€์ˆ˜) ๋ฅผ ํ•˜๋‚˜์”ฉ ๋ฐฐ์—ด์— ๋„ฃ์–ด์ค€๋‹ค.์ด ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ํ”ํ•˜๊ณ  ๊ฐ€๋…์„ฑ ์ข‹์€(?) ๋ฐฉ๋ฒ•์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๋ฐฐ์—ด ์ƒ์„ฑ ํ›„   for ๋ฐ˜๋ณต๋ฌธ๊ณผ ํ•จ๊ป˜ array.push( ) ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.   ๐Ÿงธ ๋‹ค๋ฅธ ํ’€์ด 1) for ๋ฌธ ์•ˆ if๋ฌธ ์‚ฌ์šฉfunction solution(n) { co..
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด (filter, sort, ์‚ผํ•ญ์—ฐ์‚ฐ์ž)
ยท
JavaScript & TypeScript/๐Ÿงฉ Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/12910?language=javascript ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr * ์ฐธ๊ณ ๋กœ ๋ฐฐ์—ด ์›์†Œ๊ฐœ์ˆ˜ 0์ธ์ง€ (๋นˆ ๋ฐฐ์—ด์ธ์ง€) ์ฒดํฌ ํ•  ๋•Œ, arr === (ํ˜น์€ ==) [ ] ์ด๋Ÿฐ ์‹์œผ๋กœ ์“ฐ๋ฉด ์•ˆ๋œ๋‹ค ! arr.length == 0 ๊ณผ ๊ฐ™์ด ๋ฐฐ์—ด ์›์†Œ๊ฐœ์ˆ˜๋ฅผ ์•Œ๋ ค์ฃผ๋Š” .length ๋ฅผ ์จ์•ผ ํ•œ๋‹ค * ๊ทธ๋ƒฅ .sort( ) ์“ฐ๋ฉด, ์ˆซ์ž๋„ ASCII ๋ฌธ์ž ์ˆœ์„œ๋Œ€๋กœ (๋ฌธ์ž์ฒ˜๋Ÿผ) ๋ฐฐ์—ด๋˜์–ด, ๋งจ ์•ž์ž๋ฆฌ ์ˆ˜ ์šฐ์„ ์œผ๋กœ ๋ฐฐ์—ด๋˜๋‹ˆ (์˜ค๋ฆ„์ฐจ์ˆœ 5, 10 ์ด ..