https://leetcode.com/problems/average-salary-excluding-the-minimum-and-maximum-salary/
문제
You are given an array of unique integers salary where salary[i] is the salary of the ith employee.
Return the average salary of employees excluding the minimum and maximum salary. Answers within 10-5 of the actual answer will be accepted.
직원들 월급의 최소, 최대값을 제외한 평균값을 반환하는 문제이다.
예시
Example 1:
Input: salary = [4000,3000,1000,2000]
Output: 2500.00000
Explanation: Minimum salary and maximum salary are 1000 and 4000 respectively.
Average salary excluding minimum and maximum salary is (2000+3000) / 2 = 2500
Example 2:
Input: salary = [1000,2000,3000]
Output: 2000.00000
Explanation: Minimum salary and maximum salary are 1000 and 3000 respectively.
Average salary excluding minimum and maximum salary is (2000) / 1 = 2000
제약조건
Constraints:
- 3 <= salary.length <= 100
- 1000 <= salary[i] <= 106
- All the integers of salary are unique.
해결 과정
새로운 스터디플랜이 시작돼서 그런지 문제가 매우 쉬웠다.
- 최대, 최소값을 제외시키기 위해 우선적으로 오름차순으로 정렬한다.
- 평균값을 구하기 위한 sum 변수를 초기화한다.
- 인덱스 처음 값(0), 인덱스 마지막 값(salary.length - 1)을 제외한 값들을 sum에 더한다.
- 최소, 최대값을 제외했으니 salary.length에서 2를 제외한 값으로 나누어준다.
해결 코드
/**
* @param {number[]} salary
* @return {number}
*/
var average = function(salary) {
salary.sort((a, b) => a- b);
let sum = 0;
for(let i = 1 ; i < salary.length - 1 ; i++){
sum += salary[i];
}
return sum/(salary.length - 2)
};
'leetCode' 카테고리의 다른 글
[Easy] 1281. Subtract the Product and Sum of Digits of an Integer (2) | 2022.05.26 |
---|---|
[Easy] 1523. Count Odd Numbers in an Interval Range (0) | 2022.05.26 |
[Easy] 136. Single Number (2) | 2022.05.25 |
[Easy] 190. Reverse Bits (0) | 2022.05.25 |
[Easy] 231. Power of Two (3) | 2022.05.24 |
Comment