Кегли - это цветные конфеты, в которых есть 5 различных вкусов; виноград, зеленое яблоко, лимон, апельсин и клубника, представленные (p) urple, (g) reen, (y) ellow, (o) range и (r) ed соответственно. Я привык есть кегли, сортируя все разные цвета, а затем поочередно. Получив несколько странных взглядов в офисе, я теперь притворяюсь, что ем их как нормальный человек. Ваша задача подражать этому:
Ваш код (полная программа или функция) получит массив кеглей (10x10) в качестве входных данных (в любом приемлемом формате). Этот массив будет представлять кучу несортированных кеглей. Ваша задача - «съесть» их от вашего наименее любимого до любимого цвета. Мой предпочтительный заказ - виноград, зеленое яблоко, лимон, апельсин, клубника, но вы можете выбрать любой заказ, если он постоянно исполняется (пожалуйста, укажите ваши предпочтения в заявке, чтобы я мог судить вас за это). После того, как вы съели каждый кусочек конфеты, ваш код выведет (в том же формате, в котором вы вводите) оставшуюся кучу с заменой съеденного кусочка пробелом. Вы будете повторять, пока не останется только ваш любимый. Вы можете выбрать любой кегель (может быть случайным или детерминированным). Конечные пробелы должны быть сохранены.
Например, ваша выходная последовательность может выглядеть следующим образом (для краткости используется 5x5 и отображается пробел как .
)
start 1 2 3 4 5 n
.org. .org. .org. .org. .or.. .or.. ..r..
prgrg .rgrg .rgrg .rgrg .rgrg .r.rg .r.r.
gggpr gggpr ggg.r ggg.r ggg.r ggg.r ....r
oyyor oyyor oyyor oyyor oyyor oyyor ....r
.r.p. .r.p. .r.p. .r... .r... .r... .r...
Это код-гольф , поэтому выигрывает самый короткий код в байтах
TL; правила DR:
- Представление может быть полной программой или функцией
- Ввод может быть сделан в любом разумном формате (строка, список, матрица и т. Д.) Любым разумным способом (STDIN, аргументы функции и т. Д.). Однако между строками должно быть какое-то разграничение
- Вывод должен производиться в том же формате, что и ввод любым разумным способом (STDOUT, функция return и т. Д.). Промежуточный вывод может быть или не быть разделен
- Первый выход должен быть первым входом
- Конечные пробелы должны быть сохранены
- Можно использовать любой порядок цветов (укажите в своем ответе)
- Любая кегля текущего цвета может быть съедена
- Последний вывод должен быть только ваш любимый цвет и пробелы
- Если возможно, включите ссылку на онлайн-компилятор, чтобы проверить вашу заявку