Максимум различных кодов погоды по регионам

тема: Таблицы: фильтр и группировка · уровень: базовый

Условие

Метеостанции расположены в нескольких регионах. Файл data.csv содержит сведения о станциях, а файл events.csv — результаты отдельных измерений. Каждая строка файла измерений ссылается на станцию по её идентификатору.

Для каждого региона рассматриваются только измерения с показателем качества не меньше заданного порога. Пустой код погоды считается пропуском и не учитывается.

Для региона r обозначим через S(r) множество различных непустых значений столбца weather_code среди подходящих измерений станций региона r. Требуется вывести значение max |S(r)|, то есть наибольшее число различных кодов погоды в одном регионе.

Регион без подходящих измерений имеет значение |S(r)| = 0. При равенстве наибольших значений у нескольких регионов выводится само общее число, поэтому выбор региона не требуется.

Формат ввода

Рядом с программой находятся два файла в кодировке UTF-8 с разделителем-запятой.

Файл data.csv содержит от 1 до 1000 строк данных и заголовок:

Файл events.csv содержит от 1 до 1000 строк данных и заголовок:

В стандартном вводе находится одно целое число q — минимальный допустимый показатель качества. Учитываются только строки events.csv, для которых quality >= q.

Формат вывода

Выведите одно целое число — максимальное количество различных непустых кодов погоды среди регионов.

Ограничения

1 <= число строк data.csv <= 1000.

1 <= число строк events.csv <= 1000.

1 <= station_id <= 1000000.

Длина названия региона — от 1 до 30 символов.

-500 <= altitude_m <= 9000.

Дата имеет длину 10 символов и формат YYYY-MM-DD.

Код погоды имеет длину от 0 до 20 символов.

0 <= quality <= 100.

0 <= q <= 101.

Решить задачу с автопроверкой на Python →

Куда дальше