programmers

코딩 테스트 / 배열의 평균값, 머쓱이 보다 키 큰 사람

이미사용 2023. 5. 20. 21:53
명언
-
728x90
반응형

배열의 평균값

※풀이

1. 함수 solution을 정의합니다. 이 함수는 numbers라는 매개변수를 받습니다.
2. reduce 메서드를 사용하여 numbers 배열의 모든 요소를 더합니다.
3. reduce 메서드의 첫 번째 인자로는 (a, c) => a + c라는 콜백 함수가 전달됩니다.
    ·a: 누적값으로서 각 요소를 더한 값이 누적됩니다.
    ·c: 배열에서 순회하고 있는 현재 요소의 값입니다.
    ·a + c는 현재 요소 c를 누적값 a에 더하는 연산을 수행합니다.
    ·reduce 메서드의 두 번째 인자로는 초기값 0이 전달됩니다.
    ·초기값이 제공되면, a는 초기값으로 초기화됩니다.
    ·초기값이 생략되면, numbers 배열의 첫 번째 요소가 초기값으로 설정됩니다.
4. reduce 메서드의 결과를 numbers.length로 나누어 평균을 계산합니다.

reduce() reduce()는 배열(Array) 객체의 메서드로, 배열의 각 요소에 대해 주어진 콜백 함수를 실행하고, 콜백 함수의 반환 값을 누적하여 하나의 결과값을 생성하는 함수입니다.

ex1)

    {
        function solution(numbers){
            return numbers.reduce((a,c) => a + c ,0) / numbers.length;
        }
        console.log(solution([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]));
        //5.5
    }

ex2)

    {
        function solution(numbers){
            return numbers.reduce((a,c) => a + c ,0) / numbers.length;
        }
        console.log(solution([89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]));
        //94
    }

머쓱이 보다 키 큰 사람

※풀이

1. 함수 solution을 정의합니다. 이 함수는 array와 height라는 매개변수를 받습니다.
2. filter 메서드를 사용하여 array 배열에서 특정 조건을 만족하는 요소들을 걸러냅니다.
    ·filter 메서드의 인자로는 화살표 함수 (v) => v > height가 전달됩니다.
    ·v: 배열에서 순회하고 있는 현재 요소의 값입니다.
    ·v > height는 현재 요소 v가 height보다 큰지를 평가하는 조건식입니다.
    ·filter 메서드는 조건을 만족하는 요소들로 새로운 배열을 생성하여 반환합니다.
4. filter 메서드로 걸러진 배열의 length를 반환 하여 개수를 구합니다.

 

filter() filter() 메서드는 주어진 함수의 조건을 만족하는 배열의 요소들로 구성된 새로운 배열을 반환합니다.

ex1)

    { 
        function solution(array, height) {
            return array.filter(v => v > height).length
        }
        
        console.log(solution([149, 180, 192, 170], 163));
        //3
    }

ex2)

    { 
        function solution(array, height) {
            return array.filter(v => v > height).length
        }
        
        console.log(solution([180, 120, 140], 190));
        //0
    }

 

출처:https://school.programmers.co.kr/