Problem Description
์ ์ ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. numbers์ ๊ฐ ์์์ ๋๋ฐฐํ ์์๋ฅผ ๊ฐ์ง ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
Restrictions
- -10,000 ≤ numbers์ ์์ ≤ 10,000
1 ≤ numbers์ ๊ธธ์ด ≤ 1,000
Input/Output Example
- ์ ์ถ๋ ฅ ์ #1 [1, 2, 3, 4, 5]์ ๊ฐ ์์์ ๋๋ฐฐ๋ฅผ ํ ๋ฐฐ์ด [2, 4, 6, 8, 10]์ returnํฉ๋๋ค.
- ์ ์ถ๋ ฅ ์ #2 [1, 2, 100, -99, 1, 2, 3]์ ๊ฐ ์์์ ๋๋ฐฐ๋ฅผ ํ ๋ฐฐ์ด [2, 4, 200, -198, 2, 4, 6]์ returnํฉ๋๋ค.
My solution
function solution(numbers) {
return numbers.map((x) => x * 2)
}
Another solutions
function solution(numbers) {
return numbers.reduce((a, b) => [...a, b * 2], []);
}
reduce ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ numbers ๋ฐฐ์ด์ ์ํํ๋ฉฐ ๊ฐ ์์๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. reduce ๋ฉ์๋์ ์ฒซ ๋ฒ์งธ ์ธ์๋ ๋ฆฌ๋์ ํจ์์
๋๋ค. ์ด ํจ์๋ ๋ ๊ฐ์ ์ธ์๋ฅผ ๋ฐ์ต๋๋ค.
a: ๋์ ๋ ๊ฒฐ๊ณผ ๋ฐฐ์ด / b: ํ์ฌ ์ํ ์ค์ธ ๋ฐฐ์ด์ ์์
๋ฆฌ๋์ ํจ์๋ ํ์ฌ ์์ b๋ฅผ b * 2๋ก ๋ณํํ๊ณ , ๋์ ๋ ๊ฒฐ๊ณผ ๋ฐฐ์ด a์ ์๋ก์ด ์์๋ก ์ถ๊ฐํ๊ธฐ ์ํด ์คํ๋ ๋ ์ฐ์ฐ์ ([...a, b * 2])๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๊ธฐ๊ฐ์ผ๋ก ๋น ๋ฐฐ์ด []์ ์ ๊ณตํ์์ผ๋ฏ๋ก reduce ๋ฉ์๋๋ ๋น ๋ฐฐ์ด์ ์ด๊ธฐ ๋์ ๊ฐ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
https://school.programmers.co.kr/learn/courses/30/lessons/120809
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
'Problem Solution > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/JS] ๋ฌธ์์ด์์ ๋ฌธ์์ด (0) | 2023.09.05 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/JS] ์๋ฆฟ์ ๋ํ๊ธฐ (0) | 2023.09.05 |
[ํ๋ก๊ทธ๋๋จธ์ค/JS] ๋ฐฐ์ด ์์์ ๊ธธ์ด (0) | 2023.09.02 |
[ํ๋ก๊ทธ๋๋จธ์ค/JS] ์ง์ ํ์ ๊ฐ์ (0) | 2023.09.02 |
[ํ๋ก๊ทธ๋๋จธ์ค/JS] ์์ด์ค ์๋ฉ๋ฆฌ์นด๋ ธ (0) | 2023.09.01 |