Продолжая, это была просто ошибка проблема :
Входные данные:
Строка, состоящая из печатных символов ASCII без пробелов и новых строк.
Выход:
Сначала превратите ввод в палиндром, вернув ввод и добавив его перед собой, исключая средний символ (т.е. с вводом 1234567890
он станет 0987654321234567890
).
И затем выведите этот текст:
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0987654321234567890
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
(От середины наружу в обоих направлениях каждый символ отделен на один пробел больше, чем предыдущая строка.)
Правила соревнований:
- Вам нужно напечатать вдвое больше длины ввода, минус 3 строки. Так с входом
1234567890
вывод, показанный выше, составляет 17 строк (длина 10 * 2 - 3). - Ввод будет содержать только печатный ASCII (исключая пробел, табуляцию и новую строку).
- Конечные пробелы не являются обязательными.
- Одиночный трейлинг новой строки не является обязательным.
- (Дополнительные) начальные пробелы или ведущие новые строки не допускаются.
- Вы можете предположить, что длина ввода всегда будет не менее четырех символов.
- В отличие от моей Это была просто ошибка , оба формата ввода и вывода являются гибкими. Таким образом, вы можете вывести результат в виде String-array, String-list и т. Д.
Основные правила:
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Не позволяйте языкам кода-гольфа отговаривать вас от публикации ответов на языках, не относящихся к кодексу. Попробуйте придумать как можно более короткий ответ для «любого» языка программирования. - К вашему ответу применяются стандартные правила , поэтому вы можете использовать STDIN / STDOUT, функции / метод с правильными параметрами и типом возврата, полные программы. Ваш звонок.
- По умолчанию лазейки запрещены.
- Если возможно, добавьте ссылку с тестом для вашего кода.
- Также, пожалуйста, добавьте объяснение, если это необходимо.
Тестовые случаи:
Input: 1234567890
Output:
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0987654321234567890
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
Input: ABCD
Output:
D C B A B C D
D C B A B C D
DCBABCD
D C B A B C D
D C B A B C D
Input: =>)}]
Output:
] } ) > = > ) } ]
] } ) > = > ) } ]
] } ) > = > ) } ]
]})>=>)}]
] } ) > = > ) } ]
] } ) > = > ) } ]
] } ) > = > ) } ]
Input: XXxxXX
Output:
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
XXxxXXXxxXX
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
Ответы:
Древесный уголь , 14 байтов
Попробуйте онлайн!
АСТ:
источник
Japt ,
2221 байтПроверьте это онлайн!
объяснение
Первые 8 байтов генерируют нижний правый квадрант шаблона:
На данный момент у нас есть массив, например
["ABCD", "A B C D", "A B C D"]
. К сожалению, для возведения в квадрат требуется 13 байт:источник
05AB1E , 17 байт
Попробуйте онлайн!
-1 спасибо kalsowerus .
источник
.c.∊
наû.c
û
... спасибо!JavaScript (ES6) ,
159136129127 байтПопробуйте онлайн! Объяснение ниже
Первая запись в Codegolf, заранее прошу прощения за любые очевидные ошибки.
Спасибо Джастину Маринеру за сохранение 23 байтов! Спасибо Крейгу Эйре за сохранение 11 байтов и за сообщение об ошибке.
источник
x
с -2 вместо -1, и изменитьx<=l
на,++x<=l
чтобы вы могли удалитьx++
и сохранить байт?lines
запутался с пробелом, так что в итоге это стоило больше байтов, чтобы все это заработало снова. Но я совершенно уверен, что есть и лучший способ организовать код и добавить ваше предложение.SOGL V0.12 ,
2218 байтПопробуй здесь!
Объяснение:
источник
╬-
команда четырехстороннего палиндромиза? Я только что был здесь, желая, чтобы у Джапта было что-то подобное ...: P╬
это много вещей╬-
. Но спасибо, я не смог найти эту страницу по какой-то причинеF
для ,∑
если это необходимо.Python 3 ,
149 14195 байтПопробуйте онлайн!
Спасибо @KevinCruijssen и @ETHproductions за сохранение некоторых байтов
Отдельное спасибо @notjagan за сохранение 46 байт!
источник
l=len(s);
кl=len(s)-1;
и затем изменить все значения , связанные сl
(т.е.l-1
->l
;-l+2
->-l+1
; и т.д.) составляет 8 байт короче. Попробуй это здесь.-l+2
->2-l
:)center
вместоfor
цикла!PHP,
145131 байтПотребовалось некоторое размышление, чтобы сыграть в гольф этот дополнительный байт; но это стоило того.
печатает ведущий символ новой строки. Запустите как трубу с
-nR
или попробуйте онлайн .сломать
альтернативное решение , такой же длины:
источник
APL (Dyalog) , 37 байт
Требуется
⎕IO←0
по умолчанию во многих системах.{
…}
Анонимная функция, где аргумент представлен ⍵(
…)↑¨¨⊂⍵
Для каждого (¨
) из следующих чисел возьмите (↑
) столько символов из каждого¨
(⊂
) аргумента whole ( ), добавив при необходимости пробелы:≢w
количество символов в аргументеd←
хранить это в д⍳
так много друзей (0… d - 1)1↓
упасть один (ноль)∊¨
ε NLIST (Flatten) каждый↑
повысить рейтинг (преобразовать список списков в матрицу)(m←
…)
Применить следующую молчаливую функцию m , определенную как:⊖
перевернутый аргумент⍪
на вершине1
один [ряд]↓
упал с⊢
Аргумент⍉
транспонирования(
…)↓
Падение:2-d
= - ( d - 2), т.е. d - 2 ряда снизуm
применить м⍉
транспонированияПопробуйте онлайн!
источник
Java (OpenJDK 8) ,
201196 байтПопробуйте онлайн!
Это та же идея, что и та, которую я использовал для предыдущего испытания , за исключением того, что строка генератора теперь немного длиннее и с более сложными для обработки случаями.
источник
Python 3 ,
134124 байтаПопробуйте онлайн!
Первый пост в PPCG после некоторого времени. Ищу любые предложения / советы!
Спасибо @LyricLy и @ Лукашу Рогальски за улучшения!
источник
f=
в byountount, просто предоставляя анонимную функцию, это хорошо.-len(s)+2
всего на2-len(s)
один байт меньше.Haskell,
177163 байтаЭта функция
f
является функцией вызова и возвращает список строк ([String]
), использованиеunlines
которой должно обеспечивать тот же визуальный вывод, что и контрольные примеры (main = putStr $ unlines $ f "test string"
для его компиляции).Попробуйте онлайн!
-14 байт благодаря @nimi
источник
k
может быть определено какk n=[1..n]>>" "
иp
какp=(++)=<<reverse.tail
(вы можете даже встроить это определение).Mathematica, 141 байт
источник