숫자 A와 B로 구성된 두 개의 목록과 다른 값 k가 있다고 가정하면 A에서 B의 최소한 k 요소보다 엄밀히 작은 요소의 수를 찾아야 합니다.
따라서 입력이 A =[6, -2, 100, 11] B =[33, 6, 30, 8, 14] k =3인 경우 출력은 -2, 6과 같이 3이 됩니다. 11은 B의 3개 요소보다 엄격하게 작습니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- k가 0과 같으면
- 반환 크기 A
- B를 역순으로 정렬
- ct :=0
- A의 각 i에 대해 다음을 수행합니다.
- i
- ct :=ct + 1
- i
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution: def solve(self, A, B, k): if k == 0: return len(A) B.sort(reverse=True) ct = 0 for i in A: if i < B[k - 1]: ct += 1 return ct ob = Solution() A = [6, -2, 100, 11] B = [33, 6, 30, 8, 14] k = 3 print(ob.solve(A, B, k))
입력
[6, -2, 100, 11], [33, 6, 30, 8, 14], 3
출력
3