Локальные максимумы отзывов по версиям
Условие
Для мобильного приложения сохранены сведения о версиях в файле data.csv и отзывы пользователей в файле reviews.csv. Каждый отзыв относится к одной версии приложения.
Для выбранной платформы рассматриваются версии этой платформы в порядке возрастания идентификатора версии. Для каждой версии вычисляется число отзывов с оценкой не меньше заданного порога.
Пусть полученный ряд чисел равен c_1, c_2, ..., c_k. Внутренняя позиция i называется локальным максимумом, если c_i > c_(i-1) и c_i > c_(i+1). Первая и последняя версии ряда локальными максимумами не считаются.
При равенстве количества отзывов соседние значения не образуют локальный максимум, так как оба сравнения в определении строгие.
Необходимо вывести количество локальных максимумов. Ответ является целым числом, дробная часть не используется.
Формат ввода
В каталоге с программой находится файл data.csv в кодировке UTF-8 с разделителем запятая. Первая строка файла содержит заголовок. Файл имеет столбцы:
version_id— целочисленный идентификатор версии приложения;platform— платформа версии:android,iosилиweb;release_day— день выпуска версии, целое число.
Также в каталоге с программой находится файл reviews.csv в кодировке UTF-8 с разделителем запятая. Первая строка файла содержит заголовок. Файл имеет столбцы:
review_id— целочисленный идентификатор отзыва;version_id— целочисленный идентификатор версии из файлаdata.csv;review_day— день публикации отзыва, целое число;rating— целочисленная оценка от 1 до 5.
В стандартный ввод подаются две строки:
- в первой строке — название платформы;
- во второй строке — минимальная учитываемая оценка
min_rating.
Формат вывода
Выведите одно целое число — количество локальных максимумов в ряду количеств подходящих отзывов по версиям выбранной платформы.
Ограничения
В файле data.csv содержится от 300 до 2000 строк данных. Идентификаторы version_id различны и лежат в диапазоне от 1 до 2000. Значение release_day лежит в диапазоне от 1 до 10000. Длина значения platform составляет от 3 до 7 символов.
В файле reviews.csv содержится от 300 до 2000 строк данных. Идентификаторы review_id различны и лежат в диапазоне от 1 до 100000. Каждый version_id из файла reviews.csv существует в файле data.csv. Значение review_day лежит в диапазоне от 1 до 10000, значение rating — от 1 до 5.
Во входе platform имеет одно из значений android, ios, web. Значение min_rating лежит в диапазоне от 1 до 5. Для каждой платформы в файле есть не менее 100 версий. Версия без подходящих отзывов получает значение ряда, равное 0.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается
- БВИ и льготы при поступлении — какой диплом что даёт и сколько лет он действует