์•Œ๊ณ ๋ฆฌ์ฆ˜ & ๋ฌธ์ œํ’€์ด

ํ’€์ด ๐Ÿ™Ž๐Ÿป‍โ™‚๏ธ function solution(s) { const strArr = s.split(" "); let result = ""; for (let i = 0; i < strArr.length; i++) { for (let j = 0; j < strArr[i].length; j++) { result += !(j % 2) ? strArr[i][j].toUpperCase() : strArr[i][j].toLowerCase(); } if (i < strArr.length - 1) { result += " "; } } return result; } /* (ํ’€์ด) ํžˆ๋“ ์ผ€์ด์Šค ํ•ด๊ฒฐ์— ์ •๋ง ๋งŽ์€ ์‹œ๊ฐ„์„ ๋ฒ„๋ ธ๋‹ค.. 2์ค‘ for๋ฌธ์œผ๋กœ split์œผ๋กœ ๋‚˜๋ˆ ์ค€ strArr ๋ฐฐ์—ด์š”์†Œ์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋Œ๋ ค์ฃผ๊ณ  ๋‚ด๋ถ€ for๋ฌธ์—์„œ..
ํ’€์ด ๐Ÿ™Ž๐Ÿป‍โ™‚๏ธ function solution(arr) { return arr.filter((el, idx) => el !== arr[idx + 1]); } ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์Šคํƒ/ํ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•ด ํ‘ธ๋Š” ํ’€์ด์˜€๋Š”๋ฐ ํ’€์ด์ž์ฒด๋Š” ์ข‹์ง€๋งŒ ๋ฌธ์ œ์˜๋„์— ๋งž์ง€์•Š๋‹ค. ์˜๋„์— ๋งž๋Š” ํ’€์ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ๋ฌธ์ œ ์˜๋„์— ๋งž๋Š” ํ’€์ด function solution(arr) { const result = []; for (const el of arr) { const lastElement = result[result.length - 1]; if (lastElement !== el) result.push(el); } return result; } ์Šคํ„ฐ๋”” ๋ฆฌ๋”๋‹˜์ด ์˜ฌ๋ ค์ฃผ์‹  ํ’€์ด. ์Šคํƒ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ํ’€์ด๋‹ค. ๋‚˜๋Š” ์š”์†Œ๋ฅผ ๋นผ๊ณ  ๋„ฃ๋Š” ์ž‘์—…..
ํ (Queue) FIFO(First In First Out) ์„ ๊ธฐ์ค€์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค. ( ๋จผ์ € ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜๊ฐ„๋‹ค ) ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…ํ•˜๋Š” ๋ถ€๋ถ„์€ rear ์‚ญ์ œํ•˜๋Š” ๋ถ€๋ถ„์„ fornt ๋ผ ๋ถ€๋ฅธ๋‹ค. ํ์˜ ์ข…๋ฅ˜๋Š” ์„ ํ˜• ํ(Linear Queue), ์›ํ˜• ํ(Circular Queue) ๋“ฑ์ด ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘์–ด๋„ฃ๋Š” enqueue, ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” dequeue ๋“ฑ์˜ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ž‘์—…์„ ์ž„์‹œ๋กœ ์ €์žฅํ•ด๋‘๋Š” ๋ฒ„ํผ(buffer)๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ push, shift๋กœ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‚˜ shift์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์ตœ๋Œ€ O(n)์ด๋‹ˆ ์ฃผ์˜ํ•˜์ž. const arr = []; //enqueue arr.push('test1'); arr.push('test2..
ํ’€์ด ๐Ÿ™Ž๐Ÿป‍โ™‚๏ธ function solution(n, m) { return [maxAcommonDivisor(n, m), (n * m) / maxAcommonDivisor(n, m)]; } function maxAcommonDivisor(a, b) { let remainder = 0; while (b !== 0) { remainder = a % b; a = b; b = remainder; } return a; } /* (ํ’€์ด) ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค. ํ•จ์ˆ˜๋Š” ๋‚˜๋จธ์ง€ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋Š” ๋ณ€์ˆ˜ํ•˜๋‚˜๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ณ  while ๋ฌธ์œผ๋กœ b๊ฐ€ 0์ด ๋˜๋ฉด ํƒˆ์ถœํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด์œ ๋Š” (a๊ฐ€ ์ž‘์„๊ฒฝ์šฐ) remainder = a ๊ฐ€ ๊ทธ๋Œ€๋กœ ๋“ค์–ด๊ฐ a = b a๋ณด๋‹ค ํฐ๊ฐ’์ธ b๊ฐ€ ๋“ค์–ด๊ฐ b = remainder ๋‚˜๋จธ์ง€๊ฐ’์ด ..
ํ’€์ด ๐Ÿ™Ž๐Ÿป‍โ™‚๏ธ function solution(left, right) { let result = 0; const numArr = new Array(right - left + 1).fill().map((_, i) => left + i); for (let element of numArr) { let i = 1; const divisorArr = []; while (i
์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ž€? 2๊ฐœ์˜ ์ •์ˆ˜ ๋˜๋Š” ๋‘ ๋‹คํ•ญ์‹์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ "A > B ์ผ๋•Œ A์™€ B์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” B์™€ ๋‚˜๋จธ์ง€ R์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ๊ฐ™๋‹ค." ํฐ ์ˆ˜(A)๋ฅผ ์ž‘์€ ์ˆ˜(B)๋กœ ๋‚˜๋ˆˆ๋‹ค. ( A > B ) ๋‚˜๋ˆˆ ์ˆ˜(B)๋ฅผ A๋กœ ๋Œ€์ž… ๋‚˜๋จธ์ง€(R)์„ B๋กœ ๋Œ€์ž…ํ•˜์—ฌ ๊ณ„์† ๋‚˜๋ˆ ์ค€๋‹ค. ( A(B) % B(R) = (R)) ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋œ๋‹ค๋ฉด ์ด์ „์— B์— ๋Œ€์ž…ํ•œ R์ด ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์ด๋‹ค. ์˜ˆ์‹œ 1071์€ 1029๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, 1071์„ 1029๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•œ๋‹ค. โ‰ซ 42 1029๋Š” 42๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, 1029๋ฅผ 42๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•œ๋‹ค. โ‰ซ 21 42๋Š” 21๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง„๋‹ค. ๋ฐ˜๋ชฉ๋ฌธ const gcd =(a,b){ let tmp; while..
Learned map์ด๋‚˜ filter ๋“ฑ ๋ฐ˜๋ณต๋ฌธ๊ณผ ๋น„์Šทํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ• ๋•Œ ๋ณ€์ˆ˜๋„ค์ž„์„ for๋ฌธ๊ณผ ๋™์ผํ•˜๊ฒŒ i, j ๋กœ ๊ฐ€์ ธ๊ฐ€๊ธฐ. while๋ฌธ์„ ์ข€ ๋” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฉด์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋๋‹ค. reduce์™€ Array์ƒ์„ฑ์ž๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋๋‹ค. Liked ํ”ผ๋“œ๋ฐฑ์ด ๋”ฐ๋กœ ์—†๋Š” ๋ฌธ์ œ๊ฐ€ ๋งŽ์•˜๋‹ค๐Ÿ‘ ๊ฐ€๋…์„ฑ๋ฉด์—์„œ๋Š” ๋–จ์–ด์กŒ์–ด๋„ ๊ตฌ๊ธ€๋ง ์ „ํ˜€ ์—†์ด ํ’€์–ด๋‚ธ ๋ฌธ์ œ๋„ ์žˆ์—ˆ๋‹ค. Lacked ๋ช…ํ™•ํ•œ ๋ณ€์ˆ˜๋ช… ์ง“๊ธฐ๊ฐ€ ์•„์ง๋„ ๋ถ€์กฑํ•˜๋‹ค. ๋ฌธ์ œ ํ’€์ด์— ๊ธ‰๊ธ‰ํ•ด์„œ ์‚ผํ•ญ์—ฐ์‚ฐ์ž ๋“ฑ ๊ฐ€๋…์„ฑ ์ข‹์€ ๋ฐฉ๋ฒ•์„ ๋งŽ์ด ๋†“์ณค๋‹ค.
ํ’€์ด ๐Ÿ™Ž๐Ÿป‍โ™‚๏ธ function solution(arr1, arr2) { return arr1.map((v, i) => v.map((value, idx) => value + arr2[i][idx])); } /* (ํ’€์ด) ์˜ˆ์ „์— ํ˜ผ์ž ํ’€์–ด๋ดค๋˜ ๋ฌธ์ œ๋‹ค. map ๋ฉ”์„œ๋“œ๋ฅผ 2์ค‘์œผ๋กœ ์‚ฌ์šฉํ•ด 2์ค‘ for๋ฌธ๊ณผ ๊ฐ™์€ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ฒซ๋ฒˆ์งธ map์—์„œ 1์ฐจ์› ๋ฐฐ์—ด์˜ v๊ฐ’์—์„œ ํ•œ๋ฒˆ ๋” map์„ ์ฃผ๋ฉด 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ๋œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์˜ ์š”์†Œ value์™€ arr2์˜ 2์ฐจ์›๋ฐฐ์—ด์„ ์ฃผ์–ด์ง„ index๊ฐ’์œผ๋กœ ๋งž์ถฐ ์ฃผ๋ฉด ๋. */ ํ”ผ๋“œ๋ฐฑ function solution(arr1, arr2) { return arr1.map((innerArr, i) => innerArr.map((value, j) => value + ar..
YunCow
'์•Œ๊ณ ๋ฆฌ์ฆ˜ & ๋ฌธ์ œํ’€์ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)