๋ฐฐ์—ด์˜ ํ‰๊ท ๊ฐ‘๐Ÿ’ก

๐Ÿ’›๋ฌธ์ œ์„ค๋ช…

์ •์ˆ˜ ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. numbers์˜ ์›์†Œ์˜ ํ‰๊ท ๊ฐ’์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๐Ÿงก์ œํ•œ์‚ฌํ•ญ

  • 0 โ‰ค numbers์˜ ์›์†Œ โ‰ค 1,000
  • 1 โ‰ค numbers์˜ ๊ธธ์ด โ‰ค 100
  • ์ •๋‹ต์˜ ์†Œ์ˆ˜ ๋ถ€๋ถ„์ด .0 ๋˜๋Š” .5์ธ ๊ฒฝ์šฐ๋งŒ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

๐Ÿงก์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

์ž…์ถœ๋ ฅ ์˜ˆ #1
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]์˜ ํ‰๊ท  ๊ฐ’์€ 5.5์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2
[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]์˜ ํ‰๊ท  ๊ฐ’์€ 94.0์ž…๋‹ˆ๋‹ค.

๐Ÿ’›๋ฌธ์ œํ’€์ด(1์ฐจ)

    function solution(numbers) {
        let addNum = 0;
        
        numbers.forEach(function(num){ addNum += num })
        
        return addNum / numbers.length
    }

forEach๋ฌธ ์œผ๋กœ ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ addNum์— ๋”ํ•ด์ค€ ๋’ค numbers.length๋กœ ๋‚˜๋ˆ  ๋ฐ˜ํ™˜ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’›๋ฌธ์ œํ’€์ด(2์ฐจ)

:: 2์ฐจ ํ’€์ด๋Š” ๋‹ค๋ฅธ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค ::

    function solution(numbers) {
        return numbers.reduce((a,b) => a + b) / numbers.length
    }

๋‹ค๋ฅธ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ๋ณด๋‹ค๋ณด๋‹ˆ reduce()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋กœ์ง์ด ์ƒ๋‹นํžˆ ์งง๊ณ  ๊ฐ„๊ฒฐํ•ด์ง€๊ธธ๋ž˜ ๊ตฌ๊ธ€์—์„œ ์†์„ฑ์œผ๋กœ ์‚ฌ์šฉ๋ฒ•์„ ๋ฐฐ์›Œ ์ ์šฉํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค โœ๏ธ

reduceํ•จ์ˆ˜๋กœ ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ ๋”ํ•ด์ค€ ๋ˆ„์ ๊ฐ’์„ numbers.length๋กœ ๋‚˜๋ˆ  ๋ฐ˜ํ™˜ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

reduce()์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌํ•ด๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“Click Me!


๋งˆ์น˜๋ฉฐ๐Ÿ™Œ

reduce()๋ฅผ ์ž˜๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ๋ฐฐ์—ด๊ด€๋ จ ๋ฉ”์†Œ๋“œ๋ฅผ ๋Œ€์‹  ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜๋‹ˆ ์•ž์œผ๋กœ ์—ด์‹ฌํžˆ ์ตํ˜€๋ด์•ผ๊ฒ ๋‹ค!

profile
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์ผ๊ธฐ ๐Ÿ’ญ

0๊ฐœ์˜ ๋Œ“๊ธ€