nums와 정수 k라는 숫자 목록이 있다고 가정하고 평균을 정확히 k와 같게 만들기 위해 목록에서 정확히 하나의 요소를 제거할 수 있는지 확인해야 합니다. 이제 몇 가지 제약 조건이 있음을 명심해야 합니다.
- 2 ≤ n ≤ 1,000 여기서 n은 nums 목록의 요소 수입니다.
- 숫자[i], k ≤ 1,000,000
따라서 입력이 [5,3,2,4,6,10], k =4와 같으면 10을 제거하는 것처럼 출력은 True가 되고 요소의 평균은 (5+3+2+ 4+6)/5 =4, k와 동일합니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- s:=num에 있는 모든 요소의 총합
- t :=k*(숫자의 크기 - 1)
- 숫자 단위의 각 i에 대해 다음을 수행합니다.
- s-i가 t와 같으면
- 참 반환
- s-i가 t와 같으면
- 거짓을 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
class Solution: def solve(self, nums, k): s=sum(nums) t = k*(len(nums)-1) for i in nums: if s-i == t: return True return False ob = Solution() nums = [5,3,2,4,6,10] k = 4 print(ob.solve(nums, k))
입력
[5,3,2,4,6,10], 4
출력
True