Задача курса

Go: обход массива [7]int и возврат среза []int

Курс «Golang с нуля» · урок «Массивы и срезы: создание, индексирование, len, cap, append и range»

Условие

Сводка температур за неделю

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

Когда неделя закрыта, возникает естественное желание подвести итог: не листать записи поочерёдно, а получить единую картину. Для этого нужно выяснить, какой день оказался самым холодным, какой — самым тёплым, и насколько типичной была температура в целом. Именно эти три ориентира дают ощущение недели как единого целого.

Программа последовательно проходит по всем семи значениям, не исключая ни одного, и определяет среди них наименьшее и наибольшее. Затем она вычисляет среднее по всей семёрке, представляя его целым числом. На выходе пользователь видит минимум, максимум и среднее — лаконичную сводку, которая в трёх числах описывает прошедшую неделю.

Что нужно сделать

Реализуйте функцию WeeklyTemperatureSummary(temperatures [7]int) []int. Она должна обойти все семь элементов массива и вернуть срез из трёх чисел в строгом порядке: минимальная температура, максимальная температура, целое среднее. Среднее вычисляется обычным целочисленным делением суммы на 7.

Ввод и вывод

Функция получает один массив ровно из семи целых чисел. Она возвращает срез [минимум, максимум, среднее]. Читать stdin и печатать результат не нужно.

Пример

WeeklyTemperatureSummary([7]int{-3, 1, 4, 2, 0, 5, -2}) возвращает []int{-3, 5, 1}.

Примеры

Пример 1

Ввод
[[-3,1,4,2,0,5,-2]]
Ожидаемый результат
[-3,5,1]

Попробуйте решить

РешениеGo
Без регистрации · результат не сохраняется