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

๋ฌธ์ œ ๋‚ด์šฉ ์ด๐Ÿ™Ž๐Ÿป‍โ™‚๏ธ function solution(s) { const convertedArr = Array.from(s); const result = convertedArr.map((v) => Number(v)); if (s.length === 4 || s.length === 6) { return result.includes(NaN) ? false : true; } return false; } /* (ํ’€์ด) ๋ฌธ์ž์—ด s๋ฅผ ๋ฐฐ์—ด์— ๋„ฃ๊ณ  map๋ฉ”์†Œ๋“œ๋กœ ๊ฐ์ž Numberํƒ€์ž…์œผ๋กœ ๋ณ€ํ˜•. ๋ฌธ์ž๋‚˜ -, ์†Œ์ˆ˜ ๋“ฑ์€ NaN ์œผ๋กœ ๋‚˜์˜ค๋ฏ€๋กœ ์š”์†Œ๊ฐฏ์ˆ˜๊ฐ€ 4,6 ์ธ ๋ฐฐ์—ด์— NaN๊ฐ€ ์žˆ๋‹ค๋ฉด false ์—†์œผ๋ฉด true */ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค 11๋ฒˆ์ด ๊ณ„์† ์‹คํŒจํ–ˆ๋‹ค. ๋ฌธ์ œ๋Š” 3e6 ์€ 3 * 10 ^ 6์„ ์˜๋ฏธํ•œ๋‹ค. Number๋กœ..
์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋Š” ์†Œ์ˆ˜ ์ฐพ๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. "์†Œ์ˆ˜"๋ž€ 1๊ณผ ์ž์‹  ์ด์™ธ์— ์ž์—ฐ์ˆ˜๋กœ๋Š” ๋‚˜๋ˆŒ ์ˆ˜ ์—†๋Š” ์ž์—ฐ์ˆ˜์ด๋‹ค. ( 2, 5, 7 ๋“ฑ) 1~100๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ๋‚˜์—ด. ์†Œ์ˆ˜๊ฐ€ ์•„๋‹Œ 1์„ ์ œ๊ฑฐ. 2๋ฅผ ์ œ์™ธํ•œ 2์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ œ๊ฑฐ. 3์„ ์ œ์™ธํ•œ 3์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ œ๊ฑฐ. 4์˜ ๋ฐฐ์ˆ˜๋Š” 2์˜ ๋ฐฐ์ˆ˜๋กœ ์ด๋ฏธ ์ง€์›Œ์กŒ์œผ๋ฏ€๋กœ 5๋ฅผ ์ œ์™ธํ•œ 5์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. 6๋˜ํ•œ 3์˜ ๋ฐฐ์ˆ˜๋กœ ์ง€์›Œ์กŒ์œผ๋ฏ€๋กœ 7์„ ์ œ์™ธํ•œ 7์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ œ๊ฑฐ. 11 ๋ถ€ํ„ฐ๋Š” 11^2 > 100 ์ด๊ธฐ์— ์ง€์šธ ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ด๋Ÿฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ฃผ์–ด์ง„ n์ดํ•˜์˜ ์†Œ์ˆ˜๋ฅผ ์ฐพ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ตฌํ˜„ function solution(n) { //n + 1 ๊ฐœ์˜ ์š”์†Œ๋ฅผ ๊ฐ€์ง„ ๋ฐฐ์—ด ์ƒ์„ฑ ๋ชจ๋‘ true๋กœ ๋ณ€๊ฒฝ ํ›„ ์†Œ์ˆ˜์ œ์™ธ๊ฐ’ 0,1 ์„ false..
Learned ์•Œ๊ณ ๋ฆฌ์ฆ˜(์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด, ๊ทธ๋ฆฌ๋”” ๋“ฑ) ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฅธ๋ฐฉ์‹์œผ๋กœ ํ‘ธ๋Š” ๊ฐœ๋…์„ ๋ฐฐ์› ๋‹ค. (Array.from ๋“ฑ) reduce๊ฐ€ ์ฒ˜๋ฆฌ ๋˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. Liked ์ฐธ๊ณ ๊ฐ€ ๋ ๋งŒํ•œ ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค๐Ÿ‘ ๋ถ€ํŠธ์บ ํ”„ ๋ณ‘ํ–‰ํ•˜๋ฉด์„œ ๋ฐ€๋ฆฌ์ง€ ์•Š๊ณ  ์ž˜ ํ•ด๋‚ด๊ณ  ์žˆ๋‹ค. ์กฐ๊ธˆ์ด๋‚˜๋งˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์•Œ๊ฒŒ๋๋‹ค. ์‹œ๊ฐ„๋ถ„๋ฐฐ๊ฐ€ ์–ด๋Š์ •๋„ ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ๋‹ค. Lacked ๋ถ€ํŠธ์บ ํ”„ ํ•‘๊ณ„๋กœ ์กฐ๊ธˆ ํšจ์œจ์„ฑ๊ณผ ํด๋ฆฐํ•œ ์ฝ”๋“œ์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•˜๋Š” ์‹œ๊ฐ„์ด ์ ์–ด์กŒ๋‹ค..๐Ÿฅฒ (์šด๋™๋„ ๋ฏธ๋ฃจ์ง€๋ง์ž) ์ˆ˜ํ•™์  ๊ฐœ๋…์ด ํ•„์š”ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์ดํ•ดํ•˜๋”๋ผ๋„ ๊ทธ๊ฑธ ์ฝ”๋“œ์— ๋…น์—ฌ๋‚ด๊ธฐ๊ฐ€ ์‰ฝ์ง€์•Š๋‹ค. Array.from์„ ๊ณ ๋ฏผํ•ด๋ดค์ง€๋งŒ ์˜ต์…˜์ด ์–ด๋ ต๊ณ  ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผํ• ์ง€ ์•„์ง ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค..
๋ฌธ์ œ ๋‚ด์šฉ ํ’€์ด๐Ÿ™Ž๐Ÿป‍โ™‚๏ธ function solution(d, budget) { let result = 0; d.sort((a, b) => a - b).reduce((acc, cur) => { if (budget >= acc + cur) { result++; } return acc + cur; }, 0); return result; } function solution(d, budget) { let result = 0; let sumEach = 0; d.sort((a, b) => a - b); for (i = 0; i = sumEach) { result++; } } return result; } /* (ํ’€์ด) 1. ๋ฐฐ์—ด์„..
๋ฌธ์ œ ๋‚ด์šฉ ํ’€์ด๐Ÿ™Ž๐Ÿป‍โ™‚๏ธ function solution(arr, divisor) { const result = arr .filter((value) => value % divisor === 0) .sort((a, b) => a - b); return result.length === 0 ? [-1] : result; } /* (ํ’€์ด) arr ์„ filter ๋กœ ๋‚˜๋จธ์ง€๊ฐ€ 0 ์ด ๋˜๋Š” ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ result์— ํ• ๋‹น. ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๋ฐฐ์—ด์ด ๋น„์–ด์žˆ์œผ๋ฉด -1์„ ๋ฆฌํ„ดํ•ด์คฌ๋‹ค. ๊ฐ’์ด ์ •์ˆ˜์ธ์ง€ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š”Number.isInteger()๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•๋„ ์ƒ๊ฐํ•ด๋ดค๋Š”๋ฐ ๊ฒฐ๊ตญ for๋ฌธ์„ ์‚ฌ์šฉํ•ด์•ผํ•ด์„œ ๊ฐ€๋…์„ฑ์ด ๋” ์ข‹์€ fliter ์‚ฌ์šฉ. */ length === 0 ๋ณด๋‹ค๋Š” not์—ฐ์‚ฐ์ž ์ด์šฉํ•ด์„œ !result..
์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ณ ๋ คํ•œ ํ’€์ด? ๐Ÿค” ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ํ’€์—ˆ์„ ๋•Œ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ์— ๊ธ‰๊ธ‰ํ–ˆ์ง€๋งŒ ๋ง‰์ƒ ํ…Œ์ŠคํŠธ์— ํ†ต๊ณผํ•˜๊ณ  ๋‚œ ํ›„ ์ด ์ฝ”๋“œ๊ฐ€ ๋งž๋‚˜? ์ด๊ฒŒ ํšจ์œจ์ ์ธ๊ฐ€?๋ผ๋Š” ์ƒ๊ฐ์„ ํ•ด๋ณธ ์ ์ด ์žˆ๋‹ค๋ฉด ์ด๋ฏธ ์‹œ๊ฐ„ ๋ณต์žก๋„์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ด ๋ณธ ๊ฒƒ์ด๋‚˜ ๋‹ค๋ฆ„์—†๋‹ค! ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ณ ๋ คํ•œ๋‹ค๋Š” ๊ฑด ์ž…๋ ฅ๊ฐ’์— ๋”ฐ๋ผ ๋กœ์ง์ด ์‹คํ–‰๋˜๋Š” ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•˜๊ณ  ๊ฐ์†Œํ•˜๋Š” ์‹œ๊ฐ„์˜ ๋น„์œจ์„ ์ตœ์†Œํ™”ํ•˜์—ฌ ๊ตฌ์„ฑํ–ˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” 3๊ฐ€์ง€์˜ ํ‘œ๊ธฐ๋ฒ•์ด ์žˆ๋Š”๋ฐ Big-O(๋น…-์˜ค) -> ์ตœ์•…์„ ๊ณ ๋ ค ( ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์˜ ์ตœ๋Œ€๋ฅผ ๊ณ ๋ ค ) Big-Ω(๋น…-์˜ค๋ฉ”๊ฐ€) -> ์ตœ์„ ์„ ๊ณ ๋ ค ( ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์˜ ์ตœ์„ ์„ ๊ณ ๋ ค ) Big-θ(๋น…-์„ธํƒ€) -> ํ‰๊ท ์„ ๊ณ ๋ ค ( ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์˜ ํ‰๊ท ์„ ๊ณ ๋ ค ) ์‹œ๊ฐ„ ๋ณต์žก๋„์—์„œ ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ๊ธฐ๋ฒ•์€ ๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ์ตœ์•…์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค...
๋ฌธ์ œ ๋‚ด์šฉ ํ’€์ด๐Ÿ™Ž๐Ÿป‍โ™‚๏ธ function solution(a, b) { let result = [a, b]; if (a > b) { for (i = 1 + b; i acc + cur); } /* (ํ’€์ด) ๊ฐ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋”ฐ๋ผ for๋ฌธ์„ ๋Œ๋ ค result ๋ฐฐ์—ด์— ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๊ณ  reduce ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•ด ๊ฐ’์„ ํ•ฉ์‚ฐํ•ด์„œ return ํ•ด์คฌ๋‹ค. ๊ฐ€๋…์„ฑ ์ข‹์€ ์ฝ”๋“œ๋Š” ์•„๋‹Œ๊ฑฐ ๊ฐ™์€๋ฐ..๐Ÿค” ๋ฌด์–ธ๊ฐ€ ์ˆ˜ํ•™์  ๋ฐฉ๋ฒ•์ด ์žˆ์„๊ฑฐ ๊ฐ™์€๋ฐ ๋– ์˜ค๋ฅด์ง€ ์•Š๋Š”๋‹ค.. *..
๋ฌธ์ œ ๋‚ด์šฉ ํ’€์ด๐Ÿ™Ž๐Ÿป‍โ™‚๏ธ function solution(price, money, count) { let result = 0; for (i = 1; i price * (idx + 1) ).reduce((acc, cur) => acc + cur); return sum - money > 0 ? sum - money : 0; } ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ ์œผ์…จ๋Š”๋ฐ Array.from ์„ ์ด์šฉํ•œ ํ’€์ด๋ฅผ ๊ฐ€์ ธ์™”๋‹ค. ์ด๋ ‡๊ฒŒ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค๋Š” ๊ฑธ ์ˆ™์ง€.
YunCow
'์•Œ๊ณ ๋ฆฌ์ฆ˜ & ๋ฌธ์ œํ’€์ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (6 Page)