본문 바로가기

Algorithm/Implementation

(C++) - LeetCode (easy) 1491. Average Salary Excluding the Minimum and Maximum Salary

반응형

https://leetcode.com/problems/average-salary-excluding-the-minimum-and-maximum-salary/description/

간단 정렬 및 소수점 type을 확인해본 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

1. 평균을 구할 sumOfExcluded를 선언 후 0으로 초기화합니다.2. salary를 오름차순으로 정렬합니다.

📔 풀이과정

salary의 첫 번째와 마지막 원소는 각각 최소, 최댓값입니다. 따라서 평균을 구하기 위해 먼저 이들을 제외한 원소의 누적합을 salary의 원소를 순회하며 sumOfExcluded에 저장합니다.

📔 정답 출력 | 반환

평균인 sumOfExcluded / (salary원소 개수 - 2)를 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    double average(vector<int>& salary) {
        double sumOfExcluded = 0;

        sort(salary.begin(), salary.end());
        for(int i = 1; i < salary.size() - 1; i++) {
            sumOfExcluded += salary[i];
        }

        return sumOfExcluded / (salary.size() - 2);
    }
};

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