๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Coding Test

[์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ] : ๋ฐฐ์—ด ๋‘ ๋ฐฐ ๋งŒ๋“ค๊ธฐ

by ๊ถŒ์Šพํ–„ 2023. 10. 22.

 

๋ฌธ์ œ

๋ฐฐ์—ด ๋‘ ๋ฐฐ ๋งŒ๋“ค๊ธฐ

 

๋ฌธ์ œ ์ ‘๊ทผ

1. ํ•จ์ˆ˜์˜ ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋“ค์— ์ ‘๊ทผํ•ด์„œ 2๋ฐฐ๋ฅผ ๋งŒ๋“ค์–ด ์ค€๋‹ค์Œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— pushํ•ด์ฃผ๋Š” ์‹์œผ๋กœ for๋ฌธ์„ ๋Œ๋ ค๋ณด์•˜๋‹ค.

2. ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ return ํ•˜๋Š” mapํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋”์šฑ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์งค ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ์–ด์„œ map์„ ์‚ฌ์šฉํ•ด์„œ๋„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋ณด์•˜๋‹ค.

 

์ œ์ถœ ์ฝ”๋“œ

// for ๋ฌธ ์‚ฌ์šฉ ์ฝ”๋“œ

function solution(numbers) {
    var answer = [];
    for (i = 0; i < numbers.length; i++) {
        answer.push(numbers[i] * 2);
    }
    return answer;
}
// map ์‚ฌ์šฉ ์ฝ”๋“œ

function solution(numbers) {
    return numbers.map((num) => num * 2);
}

 

๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ์ฝ”๋“œ

function solution(numbers) {
    return numbers.reduce((a, b) => [...a, b * 2], []);
}

reduce๋ฅผ ์‚ฌ์šฉํ•œ ์‚ฌ๋žŒ์ด ์žˆ์–ด์„œ ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์•˜๋‹ค.

reduce ๋ฉ”์„œ๋“œ๊ฐ€ ์œ„์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๊ณ  ๋ฐ˜ํ™˜์„ ํ•ด์ฃผ๋Š”๊ฒƒ์— ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์–ด์„œ mdn ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์˜€๋‹ค.

 

#ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค #js #๋ฐฐ์—ด_๋‘_๋ฐฐ_๋งŒ๋“ค๊ธฐ