블로그를 이전 중이라 완료되기 전까지는 벨로그에 작성할 계획입니다.
이후 모든 글은 https://weekwith.me 에 작성 예정이니 다른 글이 궁금하시다면 해당 링크를 통해 방문해주세요.본 글은 [ LeetCode ] 1491. 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.
3 <= salary.length <= 100
1000 <= salary[i] <= 106
salary
are unique.반복문을 돌지 않고 문제를 해결할 수 있는 방법이 없기 때문에 sum()
, max()
, min()
그리고 len()
내장 메서드들을 활용하여 해결했다.
접근법을 토대로 문제를 해결하면 아래와 같다.
def solution(salary: list[int]) -> float:
return ((sum(salary) - max(salary) - min(salary)) / (len(salary) - 2))
이와 같이 문제를 풀 경우 각각의 내장 메서드들의 시간 복잡도는 전부 O(N)이기 때문에 최종적으로 시간 복잡도는 O(N)이다.