Учитывая строку в качестве входных данных, выведите количество пробельных символов (0x0A и 0x20), равное длине строки.
Например, учитывая строку, Hello, World!
ваш код должен будет вывести ровно 13 пробельных символов и ничего больше. Это может быть любое сочетание пробелов и новых строк.
Ваш код не должен выводить какие-либо дополнительные завершающие символы новой строки или пробелы.
Testcases:
Input -> Amount of whitespace to output
"Hello, World!" -> 13
"Hi" -> 2
" Don't
Forget about
Existing
Whitespace! " -> 45
"" -> 0
" " -> 13
"
" -> 1
Подсчет очков:
Это код-гольф, поэтому побеждает меньше байтов!
0x0A
и0x20
являются шестнадцатеричными значениями для символовThese can be any mix of spaces and newlines
Ваш вывод может быть любым сочетанием пробелов и новых строк, вы можете просто выводить пробелы, если хотите, как и все остальные, или вы можете просто выводить новые строки. Это зависит от васОтветы:
Пробелы ,
311150776865464138 байт-3 байта благодаря Кевину Круйссену
-27 байтов благодаря Эфате
Попробуйте онлайн!
Видимый формат
Пояснение (s = пробел, t = табуляция, n = новая строка)
источник
Japt , 1 байт
Попробуйте онлайн!
источник
-Q
флаг во входные данные, чтобы поместить кавычки вокруг выходных данных. TIOHaskell , 7 байтов
Попробуйте онлайн! Использование:
(>>" ") "Hello, world!"
.Учитывая два списка (а строки - это списки символов в Haskell),
>>
оператор будет повторять второй список столько раз, сколько в первом списке есть элементы. Установка в" "
качестве второго аргумента означает, что мы объединяем столько пробелов, сколько входная строка длинная.Альтернатива (тот же счетчик байтов):
Попробуйте онлайн! Использование:
(' '<$) "Hello, world!"
.При заданном значении и списке
<$
оператор заменяет каждое значение в списке заданным значением. Таким образом,5 <$ "abc"
приводит к[5,5,5]
, и' ' <$ "abc"
в" "
.Функцию можно аналогично записать так
(<$)' '
, если вы захотите найти в моем коде еще несколько морских существ.источник
брейкфак , 18 байт
Попробуйте онлайн!
Печатает одну новую строку для каждого байта ввода. Напечатанные места вместо этого добавили бы 4 байта.
источник
,[>++++++++++.,]
Python, 19 байт
источник
Сетчатка,
3-4 байтаСтарая версия, не работает, потому что Retina печатает перевод строки.
(Вторая строка содержит пробел).
источник
\`
чтобы избежать этого. Тогда его использовать будет корочеS\`.
, что заменяет каждый символ переводом строки (потому что он разделяет ввод вокруг каждого символа).sed , 7 байт
Попробуйте онлайн!
источник
Brainfuck, 16 байтов
Печатает новые строки.
источник
C #,
2824 байтаСтарая версия с использованием
string
конструктора для 28 байтов:источник
Сетчатка , 5 байт
Попробуйте онлайн! Меняет все на новые строки.
\`
Подавляет дополнительный символ новой строки Retina будет нормально выход.источник
Mathematica, 21 байт
источник
#/._->" "&
. К сожалению, входные данные представляют собой строку и символы [] делают его на один байт длиннее, чем ваше решение :(#
и&
в нем? НапримерStringReplace[#,_->" "]&
JavaScript ES6, 22 байта
источник
s=>s.replace(/[^]/g," ")
, байт длиннее, чем другое решение». Мне неC, 31 байт
источник
i++, j++
в цикле for) и возвращает самое правое. Важной деталью является то, что рекурсия должна как-то останавливаться.&&
не оценивает его rhs, если это lhs - ложь.*c++
оценивает false, когда указывает на нулевое окончание строки.PHP, 28 байт
Попробуйте онлайн!
PHP, 29 байт
Попробуйте онлайн!
источник
Excel VBA,
1715 байтФункция анонимного непосредственного окна VBE, которая принимает входные данные из ячейки
[A1]
и выводит пробелы длины ввода в непосредственное окно VBEисточник
05AB1E , 3 байта
Попробуйте онлайн!
Другие 3-байтовые решения (спасибо Magic Octopus Urn и Kevin Cruijssen за большинство из них)
источник
gð×
остальное, что я придумал, было выше 3, например:õ‚.B¤
Sð:
ðs∍
võJ
/v¶J
;€ðJ
/ۦJ
. А поскольку последовательность символов ввода-вывода по умолчанию разрешена при запросе ввода-вывода строк, возможны некоторые 2-байтовые версии:€ð
/ۦ
/εð
/ε¶
иð:
/¶:
. Несмотря на то, что это довольно старая задача, а во всех остальных ответах используются настоящие строки, я могу понять, если вы оставите ее как строковый ввод-вывод.Октава, 14 байт
источник
CJam , 4 байта
Попробуйте онлайн!
объяснение
источник
C 45 байтов
Используя главное. Скомпилируйте с gcc, игнорируйте предупреждения.
Использование:
источник
char**v
вmain(c,v)
?gcc main.c
, по-видимому, не позволяет смешивать определение функции ANSI с определением функции K & R, поэтомуmain(c,char**v)
не будет компилироваться. Я либо должен сделать,main(int c,char**v)
илиmain(c,v)char**v;
из которых последний на 3 байта короче. Вы случайно не знаете какой-нибудь флаг или что-то, что позволяет смешивать эти стили?char**v
полностью не компилируется либо.char**
полностью, компилятор будет интерпретировать его какint
. Если я не ошибаюсь, вы получаете ошибку, пытаясь разыменовать a,int
и даже если вы этого не сделали, программа не будет делать то, что вы ожидали, поскольку онаint
потребляет несколькоchar
секунд, и поэтому вы никогда не получитеNULL
значение.JavaScript (ES6), 23 байта
источник
Excel, 18 байт
Довольно скучно и на один байт длиннее ответа VBA .
источник
> <> , 7 байт
Программа представляет собой цикл
источник
V , 2 байта
Попробуйте онлайн!
Обратите внимание на конечный пробел!
источник
Гексагония ,
1211 байт-1 байт благодаря Мартину Эндеру
Попробуйте онлайн!
Вот расширенный гекс:
Пока есть ввод, этот код выполняется:
Когда EOF достигнут:
источник
M8;
(что дает 778 = 10 (мод 256)). Это должно позволить вам переместиться~
туда, где;
находится прямо сейчас, сохранив байт.Perl 5 , 7 байт
-1 байт благодаря @Xcali
6 байтов кода +
-p
флаг.Попробуйте онлайн!
Совершенно прямо: заменяет каждый символ пробелом.
источник
y// /c
на один байт короче.Python 2, 25 байт
-2 байта благодаря Loovjo
-2 байта в неверном коде благодаря полностью человеческому: p
-3 байта
источник
exec
как это ключевое слово в Python 2exec'print;'*len(input())
работает.PHP, 36 байт
Попробуйте онлайн!
Выводит новые строки, потому что пробелы слишком распространены
источник
$argn
вместо$argv[1]
сохранения 4 байта. Запуск с-F
опциейCubix , 6 байтов
Wahoo 6 байт!
Cubified
i
получает вход?
тест вершины стекаw
смену полосы, которая@
останавливаетсяSow
толчок пробел в стеке, вывести и изменить полосу наi
Попробуйте онлайн!
источник
C, 32 байта
Попробуйте онлайн модифицировать символы в пробелы
C 37 байт
Попробуйте онлайн заполнение левой стороны конца строки его длиной
источник
APL (Dyalog) 13,2, 1 байт
Печатает только пробелы.
∊
прототип (числа становятся нулями, символы становятся пробелами)Попробуйте онлайн!
источник