๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (230) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ์คํจ์จ ํธ๋๋ฐ ์๊ฐ ์ข ๊ฑธ๋ฆฌ๊ธด ํ๋๋ฐ, ๊ทธ๋๋ ํผ์ ํ์ผ๋ก ํ์ด๋๋ค. ๋ ์์ ๋๊ฒฌํด! ์ฒ์์ ์์ฒญ ๋ณต์กํ๊ฒ ์๊ฐํ๋ค. (์ฑ๋ฆฐ์ง ํ๋ ์ฌ๋ ์๋ฅผ ๋ฐ๋ก ๋ด๊ณ , ํตํํ ์ฌ๋ ์๋ฅผ ๋ฐ๋ก ๋ด๊ณ ..) function solution(N, stages) { let passPeople = {}; let challengePeople = {}; for (let i = 1; i { if (i i) passPeople[i] += 1; if (stage >= i) challengePeople[i] += 1; } else { if (stage >= i) passPeople[i - 1] += 1; if (stage >= i) challengePeople[i - 1] += 1; } }) } let failRate = {}; for (le.. [์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ์นด๋ ๋ญ์น function solution(cards1, cards2, goal) { let rmCount = 0; goal.map((word) => { if (cards1[0] === word) { rmCount += 1; cards1.splice(0, 1); } else if (cards2[0] === word) { rmCount += 1; cards2.splice(0, 1); } else { return; } }) return rmCount === goal.length ? "Yes" : "No" } ์ฒจ์ ์ด ์กฐ๊ฑด์ด ์๋ ์ค ๋ชจ๋ฅด๊ณ , cards1, 2 ์ length๊ฐ 0 ์ด๋ฉด yes ๋ฅผ return ํ๋ค. ์๋๋ ๋น๋๋์ด ์์ ์ฝ๋๋ฅผ ์ค์๋์ ๋ฐ๋ผ ๋ฐ๋ณต๋ฌธ์ ์์ ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ํด์ฃผ์ ์ฝ๋ function so.. [์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ๋ ์์ ํฉ - BigInt ๊ณ์ฐ BigInt ๋ BigInt ๋ฒ์ ๋ด์์๋ง ๊ณ์ฐํด์ผํ๋ ํท๊ฐ๋ ค์ ์ฒ์์ ์ด๋ ๊ฒ ํ์๋ค. function solution(a, b) { const bigInt = Number.MAX_SAFE_INTEGER; if (a bigInt) { return BigInt(a) + BigInt(b)+''; } } ๊ทผ๋ฐ bigInt ๋ Number.MAX_SAFE_INTEGER // 9007199254740991 Number ์ ๊ฐ์ฅ ํฐ ๋ฒ์๋ณด๋ค ํฐ ์๋ฅผ ๊ณ์ฐํ ์ ์๋ ๊ฑฐ๊ณ , ๊ทธ ์๋ ๋ฒ์์ธ ์ผ๋ฐ ์ ์์ ๋ฒ์๋ ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ค. ๊ทธ๋์ ์๋์ฒ๋ผ BigInt ๊ฐ ํด๋นํ๋์ง ์๋์ง์ ์๊ด์์ด ๋ํด์ฃผ๋ฉด ๋๋ค. String ์ผ๋ก return ํด์ผํ๋, + '' ์ ๋ถ์๋ค. function solution(a, b) { ret.. [์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ๐์์ ์ฐพ๊ธฐ ์ค๋์ ์๊ฐ์ ํ๊ณ๋ฅผ ๋ชป๋์ด์ ๋น๋๋์ ์ฝ๋๋ฅผ ๋ณด๊ณ ๊ณต๋ถํ๋ ์๊ฐ์ผ๋ก ๋์ฒดํ๋ค. ์ฒ์์ for ๋ฌธ์ผ๋ก 1, 2, ๋ฅผ ์ ์ธํ ์ดํ์ ์ซ์๋ถํฐ ์ฝ์์ ๊ฐ์๋ฅผ ์ธ์ด๋ณด๊ณ ์์์ธ์ง ์๋์ง ํ๋ณํ๋ ๋ฐฉ์์ผ๋ก ํ์๋๋ฐ, ๋ฒ์๊ฐ ๋๋ฌด ๋ง์๋์ง ์๊ฐ์ด๊ณผ๋ก ํต๊ณผ๋์ง ๋ชปํ๋ค. ์ด๋ ๊ฒ ์ ๊ณฑ๊ทผ์ ์ด์ฉํ๋ฉด ํจ์ฌ ๋ ์ ์ ๋ฒ์ ๋ด์์ ์ฝ์๋ฅผ ๊ตฌํ ์ ์๋ค. ์ด์ฐจํผ ์ฝ์๋ ๋ ์์ ๊ณฑ์ผ๋ก ์ด๋ค์ง๊ธฐ ๋๋ฌธ์ 16์ ์ฝ์์ธ 2๋ฅผ ๊ตฌํ๋ค๋ฉด ์๋์ผ๋ก 8๋ ์กด์ฌํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๋น๋๋์ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์์๋ฅผ ๊ตฌํ๋ค๊ธฐ ๋ณด๋จ, ์์๊ฐ ์๋ ์๋ฅผ ์๊ฑฐํด์ฃผ๋ ๋ฐฉ์์ ์ฑํํ๊ณ ์๋ค. function solution(n) { let isPrime = new Array(n + 1).fill(true).fill(false, 0, 2) for (let i.. [์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ์์ ๋ง๋ค๊ธฐ - ์ค๋ณต๋์ง ์๊ฒ ์ผ์ ํ ๊ฐ์์ ์์ ๋ฝ๊ธฐ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ์์์ผ ํ๋ค๋๊ฒ ์ฐธ ๊ณจ์น๊ฐ ์ํ ๋ค. ์๋๋ฉด ๊ทธ๋ด์ธํ ๋ฐฉ๋ฒ์ด ์์๊ฑฐ ๊ฐ์์ ๊ทธ๋ฌ๋๋ฐ, ์ฌ์ค ๋ณ ๋ฐฉ๋ฒ์ ์์์. ^_^ ๊ฑ for ๋ฌธ์ผ๋ก ์๊ฒน์น๊ฒ ๋๋ฆฌ๋ ์ ๋ฐ์!! function solution(nums) { const isPr = (num) => { if (num % 2 === 0) return; let m = []; for (let i = 1; i < num; i++) { num % i === 0 && m.push(i) } return m.length === 1 ? true : false; } let count = 0; for (let i = 0; i < nums.length; i++) { for (let j = i + 1; j < nums.length; j++) { for (let.. [์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ๋ฆฌ์คํธ ์๋ฅด๊ธฐ ๋ฌธ์ ๋ฅผ ์ฝ๊ณ ๋์ ์ด๊ฑฐ์จ switch ๋ฌธ์ ์ฐ๊ธฐ ๋ฑ ์ข๋ค! ๋ผ๊ณ ์๊ฐํจ. function solution(n, slicer, num_list) { let result = []; switch (n) { case 1: result = num_list.slice(0, slicer[1] + 1); break; case 2: result = num_list.slice(slicer[0]); break; case 3: result = num_list.slice(slicer[0], slicer[1] + 1); break; case 4: result = num_list.slice(slicer[0], slicer[1] + 1).filter((v, i) => i % slicer[2] === 0); } return(result.. [์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ๋ฌถ๊ธฐ function solution(strArr) { let lengthArr = new Array(30).fill(0); strArr.map(v => lengthArr[v.length - 1] += 1) return Math.max(...lengthArr); } ์ฃผ์ด์ง๋ ์์์ ๊ธธ์ด๋ ์ต๋๊ฐ 30์ด๊ธฐ ๋๋ฌธ์ 30๊ฐ์ ์๋ฆฌ๋ฅผ ๊ฐ์ง ๋ฐฐ์ด์ ๋จผ์ ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฃผ์ด์ง strarr ์ ์์์ ๊ธธ์ด-1 ํ index ์ +1์ ํด์ค๋ค. ์ฒ์์ fill(0) ์ผ๋ก ์ซ์๋ฅผ ๋ฃ์ด์ฃผ์ง ์์ผ๋ฉด undefined ์ +1 ์ ํด์ฃผ๋ ๊ฑฐ๋ ๋ง์ฐฌ๊ฐ์ง๋ผ์ ๊ผญ 0์ ๋ฃ์ด์ค๋ค. map ์ฐ์ฐ์ด ๋๋ ํ lengthArr ์์ ๊ฐ์ฅ ํฐ ์๋ฅผ return ํด์ค๋ค. [์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ์ปคํผ ์ฌ๋ถ๋ฆ ๋ผ๋ผ๊ฐ ํฌํจ๋์ง ์์ ๋ฌธ์์ด์ ๊ฒฝ์ฐ์ ์ ๋ถ 4500์์ด๋, cafelatte ํ๋ ๋จ์ด๊ฐ ํฌํจ๋์ด์๋์ง๋ฅผ ํ์ธํ๊ณ ๊ฐ์ ๋ํด์ฃผ๋ฉด ๋๋ค. function solution(order) { return order.reduce((acc, choice) => choice.includes("cafelatte") ? acc + 5000 : acc + 4500, 0); } ์ด์ 1 ยทยทยท 6 7 8 9 10 11 12 ยทยทยท 29 ๋ค์