์ ์ ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. numbers์ ์์ ์ค ๋ ๊ฐ๋ฅผ ๊ณฑํด ๋ง๋ค ์ ์๋ ์ต๋๊ฐ์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
0 โค numbers์ ์์ โค 10,000 2 โค numbers์ ๊ธธ์ด โค 100
numbers | result [1, 2, 3, 4, 5] | 20 [0, 31, 24, 10, 1, 9]| 744
rest๋ฌธ๋ฒ
์ ์ด์ฉํ์ฌ ํ์ด๋ณธ ๋ฐฉ๋ฒfunction solution(numbers) {
const [first, second, ...rest] = numbers.sort((a,b)=>b-a);
return first * second;
}
function solution(numbers) {
numbers.sort((a,b)=>b-a);
return numbers[0]*numbers[1];
}
์์์์ด๋ ๋ ๊ฐ์ ์ซ์๋ฅผ ์์๋ฅผ ์ ํ์ฌ ์ง์ง์ด ๋ํ๋ธ ์์ผ๋ก (a, b)๋ก ํ๊ธฐํฉ๋๋ค. ์์ฐ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ๋ ์ซ์์ ๊ณฑ์ด n์ธ ์์ฐ์ ์์์์ ๊ฐ์๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
1 โค n โค 1,000,000
n result 20 6 100 9
๋ฐฉ๋ฒ 1
Math.sqrt()
ํจ์๋ ์ซ์์ ์ ๊ณฑ๊ทผ์ ๋ฐํ์์ธ์๋ถํด
์์ฐ์๋ฅผ ์์ธ์๋ถํดํ์์ ๋, ๊ฐ ์์ธ์์ ์ง์์ 1์ ๋ํ ์๋ค์ ๊ณฑํ ๊ฐ์ด๋ค. ์๋ฅผ ๋ค์ด, 72๋ 2 3ร3 2์ด๋ฏ๋ก ์ฝ์์ ๊ฐ์๋ (3+1)ร(2+1)=12function solution(n) {
let count = 0;
for (let i = 1; i < Math.sqrt(n); i++) {
if (n % i === 0) count += 2;
}
if (n % Math.sqrt(n) === 0) count += 1;
return count;
}
๋ฐฉ๋ฒ 2
์ฝ์์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ
function solution(n) {
const answer = []
for (let i = 0; i < n + 1; i++) {
if (n % i === 0) {
answer.push(i)
}
}
return answer.length
}
๋ ๋ฐฐ์ด์ด ์ผ๋ง๋ ์ ์ฌํ์ง ํ์ธํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฌธ์์ด ๋ฐฐ์ด s1๊ณผ s2๊ฐ ์ฃผ์ด์ง ๋ ๊ฐ์ ์์์ ๊ฐ์๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
1 โค s1, s2์ ๊ธธ์ด โค 100 1 โค s1, s2์ ์์์ ๊ธธ์ด โค 10 s1๊ณผ s2์ ์์๋ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค s1๊ณผ s2๋ ๊ฐ๊ฐ ์ค๋ณต๋ ์์๋ฅผ ๊ฐ์ง ์์ต๋๋ค.
s1 s2 result ["a", "b", "c"] ["com", "b", "d", "p", "c"] 2 ["n", "omg"] ["m", "dot"] 0
includes()
๋ฉ์๋๋ ๋ฐฐ์ด์ด ํน์ ์์๋ฅผ ํฌํจํ๊ณ ์๋์ง ํ๋ณfilter()
๋ฉ์๋๋ ์ฃผ์ด์ง ํจ์์ ํ
์คํธ๋ฅผ ํต๊ณผํ๋ ๋ชจ๋ ์์๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํ function solution(s1, s2) {
return s1.filter(s => s2.includes(s)).length;
}