본문 바로가기

Algorithm/Implementation

(C++) - LeetCode (easy) 1619. Mean of Array After Removing Some Elements

반응형

https://leetcode.com/problems/mean-of-array-after-removing-some-elements/description/

📕 풀이방법

📔 입력 및 초기화

1. 오름차순으로 arr를 정렬해줍니다.2. arr에서 5%에 해당하는 값을 removeCnt에 저장해줍니다.3. 정답변수 avg를 선언 후 0으로 초기화해줍니다.

📔 풀이과정

arr의 원소를 순회하며 removeCnt ~ arr.size()-removeCnt-1까지 loop를 수행하며 arr의 원소를 avg에 더해줍니다.

📔 정답 출력 | 반환

removeCnt * 2만큼의 수를 제했으므로 avg에서 arr크기 - (removeCnt * 2) 값으로 나눠 평균을 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    double trimMean(vector<int>& arr) {
        sort(arr.begin(), arr.end());
        int removeCnt = (double) arr.size() * 0.05;
        double avg = 0;
        for(int i = removeCnt; i < arr.size() - removeCnt; i++) {
            avg += arr[i];
        }
        avg /=  arr.size() - removeCnt * 2;
        return avg;
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.