IT-Resume / bugs

Не баг, а фича!
0 stars 0 forks source link

Bug:[ Тестовое СБЕР ] Изменение пикового значения #277

Open AVRotaev opened 6 months ago

AVRotaev commented 6 months ago

Сообщить о баге

Если Вы нашли баг или неточность в задачах на платформе IT Resume - обязательно заполните этот issue. Нужно заполнить всего несколько несложных пунктов :)

В течение 2 дней мы ознакомимся и начислим Вам CodeCoins за Ваш вклад в развитие платформы.

Шаг 1 - Ваши данные

Укажите ниже свою почту или логин на платформе IT Resume. Это необходимо, чтобы мы начислили Вам монеты.


alekseirotaev@gmail.com

Шаг 2 - Задача

Укажите ссылку на задачу, в которой проблема.


https://itresume.ru/problems/sber_test_2023_1

Шаг 3 - Язык

Укажите язык, на котором Вы решали задачу.


PostgreSQL

Шаг 4 - Решение

Напишите код, который привел к ошибке.


-- Введите свое решение ниже. 
-- Вы работаете с PostgreSQL.
WITH RECURSIVE DateSeq AS (
    SELECT '2022-01-01'::timestamp AS Date -- Стартовая дата
    UNION ALL
    SELECT Date + INTERVAL '1 day' FROM DateSeq WHERE Date < '2022-04-21' -- Крайняя дата
),

basic_tab AS (SELECT d.date AS dt,
                    COUNT(DISTINCT u.id) AS cnt
              FROM  DateSeq AS d 
              LEFT JOIN users AS u ON DATE_TRUNC('DAY', u.date_joined::timestamp) = d.date
              GROUP BY dt)

SELECT *,
      MAX(cnt) OVER(ORDER BY dt ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS max_cnt,
      cnt - MAX(cnt) OVER(ORDER BY dt ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS diff
FROM basic_tab

;

Шаг 5 - Ожидание

Опишите ниже, какой результат Вы ожидали увидеть и почему.


Я решил задачу немного иным способом, чем в эталонном решении. Разница моего результата в том, что в строке с датой '2022-03-12' в столбце 'cnt' в эталонном решении значение 'None', в моём 0, что более правильно.

Очевидно, есть баг с проверкой задания.

Финал

Если есть какая-то дополнительная информация, которая может нам пригодится в диагностике проблемы, обязательно напишите ее ниже. Если есть скриншоты или другие файлы - очень просим их прикрепить, нам это поможет.

На этом все :) В ближайшее время мы все посмотрим и начислим Вам заслуженные монеты. Stay tuned!