Код Middle Secure SDLC, сканеры и пентест обновлено

Просроченные находки по SLA

Условие

Напишите overdue(findings, today). Каждая находка {"id", "severity", "found", "status"}, даты в формате YYYY-MM-DD.

Сроки исправления в днях: critical 7, high 30, medium 90, low 180. Находка просрочена, если её status равен "open" и с даты found до today прошло больше дней, чем её срок. Неизвестную severity считайте critical (строже, а не мягче).

Верните отсортированный список id просроченных находок.

Примеры

overdue([{"id":"A-1","severity":"critical","found":"2026-01-01","status":"open"}], "2026-01-09") // ["A-1"]
overdue([{"id":"A-1","severity":"critical","found":"2026-01-01","status":"open"}], "2026-01-08") // []
overdue([{"id":"A-2","severity":"high","found":"2026-01-01","status":"fixed"}], "2026-12-31") // []

Как подойти

Подсказки: 2
  1. date.fromisoformat разберёт дату.
  2. Разность дат даёт timedelta с полем days.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.