[Algorithm] 배열의 평균값

yeah·2023년 8월 4일

Algorithm

목록 보기
8/27
post-thumbnail

Mission.

작성한 답

function solution(numbers) {
    let answer = 0;
    let sum = 0;
    for (let i=0; i < numbers.length; i++) {
        sum += numbers[i]
    }
    answer = sum / numbers.length
    return answer;
}

개선할 점

  1. 간결한 구문
    reduce 함수를 사용하여 원소들의 합을 계산한다. 이를 통해 루프를 직접 구현할 필요 없이 간결한 한 줄의 코드로 합을 계산할 수 있다.

  2. 함수형 프로그래밍 스타일 활용
    reduce 함수는 함수형 프로그래밍에서 자주 사용되는 함수 중 하나이다. 함수형 스타일은 데이터 변환을 보다 선언적이고 간결하게 표현할 수 있게 해주며, 코드 가독성을 높여준다.

  3. 합산 초기값 설정
    reduce 함수는 두 번째 인자로 초기값 0을 전달하고, 각 원소를 순회하며 누적 합산을 수행한다.

개선된 코드

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

사용된 메서드와 개념

  1. reduce 메서드
  • 배열의 각 원소에 대해 주어진 콜백 함수를 실행하여 하나의 결과값을 얻는 메서드이다.
  • 콜백 함수는 두 개의 매개변수를 받는다. 첫 번째 매개변수는 누적 계산 값을 나타내며, 두 번째 매개변수는 배열의 현재 원소이다.
  • reduce 메서드는 주어진 콜백 함수를 배열의 각 원소에 순차적으로 적용하며 누적된 결과 값을 반환한다.
  • 초기값을 제공할 수 있다. 초기값을 제공하면 첫 번째 콜백 호출 시 첫 번째 매개변수로 초기값이 사용된다.
  • reduce 메서드의 구문:
    array.reduce(callback, initialValue)

  1. Arrow Function (화살표 함수)
  • (a, b) => a + b
  • 두 개의 매개변수 a와 b를 받아서 더한 값을 반환하는 함수를 의미한다.
  • 화살표 함수는 함수를 간결하게 표현하는 ES6 문법이다.

  1. 평균 계산
  • 배열의 원소들의 합을 구한 뒤, 배열의 길이로 나눠서 평균값을 계산한다.
  • 모든 원소의 값을 합하고 그 합을 배열의 길이로 나눠주면 평균을 얻을 수 있다.

  1. 함수형 프로그래밍
  • 함수형 프로그래밍 스타일을 활용하여 배열의 합을 구하고 평균을 계산한다.
  • reduce 함수와 화살표 함수 등 함수형 프로그래밍의 개념과 기법을 활용하여 코드를 간결하게 작성한다.

참고 자료

https://school.programmers.co.kr/learn/courses/30/lessons/120817

profile
기록과 회고

0개의 댓글