Посчитать сотрудников, отработавших не меньше нормы часов
Дан список hours, где hours[i] — часы сотрудника i, и целое target. Верните, сколько сотрудников отработали не меньше target часов (hours[i] >= target).
Примеры: hours=[0,1,2,3,4], target=2 → 3; hours=[5,1,4,2,2], target=6 → 0.
def count_target(hours: list[int], target: int) -> int:
# ваш код здесь
Напишите реализацию.
Считают элементы, проходящие порог: sum(1 for h in hours if h >= target), или sum(h >= target for h in hours), ведь булевы считаются как 0/1. Сравнение должно быть >= — точное достижение нормы засчитывается.
- ✗Использовать > вместо >= и терять точные совпадения
- ✗Предполагать, что список отсортирован
- ✗Делить суммарные часы на норму вместо подсчёта
- →Почему
>=важно для точного достижения нормы? - →Как заодно вернуть, кто выполнил, а не только сколько?
Count the elements that meet the threshold in one pass.
def count_target(hours: list[int], target: int) -> int:
return sum(1 for h in hours if h >= target)
The >= is essential: an employee at exactly target hours has met the norm. For [0,1,2,3,4] with target 2, the values 2, 3, 4 qualify → 3. For [5,1,4,2,2] with target 6, none reach 6 → 0. Booleans are integers in Python, so sum(h >= target for h in hours) is an equivalent one-liner. O(n) time.