Мои извинения за многословность. Мы повеселились на работе в нашем внутреннем гольфе, но для разъяснения потребовалось несколько писем, поэтому я надеюсь, что большую часть этого я запечатлел в первый раз.
ПРОБЛЕМА
Учитывая «смоделированный» снимок снегопада (в виде строки, стандартного параметра или параметра для вашей функции / метода), укажите 4 значения: минимальная глубина, максимальная глубина, средняя глубина и продолжительность.
Вот отформатированный пример для иллюстрации ввода:
* * **
** * ***
** * *
*
--------
«*» - снежинка, а «-» - земля. Представьте, что все эти «снежинки» падают на землю. Это последний «снимок»:
*
*
** * **
********
--------
Вам необходимо сообщить о:
- Минимальная глубина - считайте кратчайший «стопка» (1, в примере выше)
- Максимальная глубина - считайте самую высокую «кучу» (4, в примере выше)
- Средняя глубина - среднее количество всех «стопок» (1,9, в примере выше - округление до десятых долей)
- Длительность - (каждое «падение» = 1 секунда) - время от первого снимка до последнего снимка (3 секунды, в примере выше)
Еще один пример для справки:
*
* *
*
*
--------
Окончательный снимок:
* * ***
--------
ВХОД
Начальный «снимок» будет иметь 8 «рядов», 8 «столбцов» и разделяться на части (каналы разделяют строки). Например (исключая кавычки):
“ | | | | * | * *| * |* |--------”
ВЫХОД
4 значения, разделенные по конвейеру в одной строке: 0 | 1 | .6 | 3 или 0 | 5 | 1 | 1
Ответы:
Perl, 128 символов
источник
Python, 153 символа
источник
Windows PowerShell, 180
189Ввод поступает как
$s
.История:
источник
Пара других языков является результатом нашего внутреннего игры в гольф:
C #, 188 символов (легко читается)
Рубин, 173 символа
источник
PHP, 139 байт
для каждого столбца считать номер снежинок и нет. пробелов ниже первой снежинки, а затем рассчитать
принимает строку в качестве аргумента из командной строки
поломка и игра в гольф
добавить
round(...,1)
вокругarray_sum($n)/8
для округления (+9)источник
Mathematica , ~ 115
В этом посте мне пришлось прибегнуть к экранированной строковой форме,
\n
поскольку вставка и копирование теряют пробелы. В Front End я могу ввести это так:источник
JavaScript, 328 байт
Не особенно коротко, но это то, что у меня есть.
Де-golfed:
источник