Biorąc pod uwagę ciąg wejściowy, wypisz liczbę białych znaków (0x0A i 0x20) równych długości łańcucha.
Na przykład, biorąc pod uwagę ciąg, Hello, World!
kod będzie musiał wypisać dokładnie 13 znaków spacji i nic więcej. Mogą to być dowolne kombinacje spacji i znaków nowej linii.
Twój kod nie powinien wyświetlać żadnych dodatkowych znaków nowej linii ani spacji.
Przypadki testowe:
Input -> Amount of whitespace to output
"Hello, World!" -> 13
"Hi" -> 2
" Don't
Forget about
Existing
Whitespace! " -> 45
"" -> 0
" " -> 13
"
" -> 1
Punktacja:
To jest golf golfowy, więc wygrywa najmniej bajtów!
0x0A
i0x20
są wartościami szesnastkowymi odpowiednio dla znaków nowej linii i spacjiThese can be any mix of spaces and newlines
Twój wynik może być dowolną kombinacją spacji i znaków nowej linii, możesz po prostu wypisywać spacje, jeśli chcesz, jak wszyscy inni, lub możesz po prostu generować znaki nowej linii. To zależy od CiebieOdpowiedzi:
Biała spacja ,
311150776865464138 bajtów-3 bajty dzięki Kevin Cruijssen
-27 bajtów dzięki Ephphatha
Wypróbuj online!
Widoczny format
Objaśnienie (s = spacja, t = tab, n = nowa linia)
źródło
Japt , 1 bajt
Wypróbuj online!
źródło
-Q
flagę do wejścia, aby wstawić cudzysłowy wokół wyjścia. TIOHaskell , 7 bajtów
Wypróbuj online! Zastosowanie:
(>>" ") "Hello, world!"
.Biorąc pod uwagę dwie listy (i ciągi znaków są listami znaków w języku Haskell)
>>
operator powtórzy drugą listę tyle razy, ile pierwsza lista zawiera elementy. Ustawienie" "
jako drugiego argumentu oznacza, że łączymy tyle spacji, ile ciąg wejściowy jest długi.Alternatywa (ta sama liczba bajtów):
Wypróbuj online! Zastosowanie:
(' '<$) "Hello, world!"
.Biorąc pod uwagę pewną wartość i listę,
<$
operator zastępuje każdą wartość na liście podaną wartością. W ten sposób5 <$ "abc"
powoduje[5,5,5]
, i' ' <$ "abc"
w" "
.Funkcja może być napisana w sposób równoważny
(<$)' '
, na wypadek, gdybyś chciał znaleźć więcej morskich stworzeń w moim kodzie.źródło
pieprzenie mózgu , 18 bajtów
Wypróbuj online!
Drukuje jeden nowy wiersz dla każdego bajtu wejścia. Zamiast tego drukowanie spacji dodałoby 4 bajty.
źródło
,[>++++++++++.,]
Python, 19 bajtów
źródło
Siatkówka,
34 bajtyStara wersja nie działa, ponieważ Retina drukuje wiersz końcowy.
(Drugi wiersz zawiera spację).
źródło
\`
aby tego uniknąć. Potem jest jednak krótszy w użyciuS\`.
, który zastępuje każdy znak linią (ponieważ dzieli dane wejściowe wokół każdego znaku).sed , 7 bajtów
Wypróbuj online!
źródło
Brainfuck, 16 bajtów
Drukuje nowe linie.
źródło
C #,
2824 bajtówStara wersja używająca
string
konstruktora dla 28 bajtów:źródło
Siatkówka , 5 bajtów
Wypróbuj online! Zmienia wszystko w nowe linie.
\`
Tłumi dodatkowe przełamane Retina normalnie wyjściowego.źródło
Mathematica, 21 bajtów
źródło
#/._->" "&
. Niestety, wejście jest ciągiem znaków, a Znaki [] sprawiają, że jest on o jeden bajt dłuższy niż rozwiązanie :(#
a&
? EgStringReplace[#,_->" "]&
JavaScript ES6, 22 bajty
źródło
s=>s.replace(/[^]/g," ")
bajt dłuższy niż inne rozwiązanie”. NieC, 31 bajtów
źródło
i++, j++
W pętli for) i zwraca skrajnie prawe . Ważnym szczegółem jest to, że rekursja musi się jakoś zatrzymać.&&
nie ocenia swojego rhs, jeśli lhs jest fałszywe.*c++
ocenia false, gdy wskazuje na zerowe zakończenie łańcucha.PHP, 28 bajtów
Wypróbuj online!
PHP, 29 bajtów
Wypróbuj online!
źródło
Excel VBA,
1715 bajtówAnonimowa funkcja natychmiastowego okna VBE, która pobiera dane wejściowe z komórki
[A1]
i wysyła przestrzenie długości danych wejściowych do bezpośredniego okna VBEźródło
05AB1E , 3 bajty
Wypróbuj online!
Inne 3 bajtowe rozwiązania (dzięki Magic Octopus Urn i Kevin Cruijssen za większość z nich)
źródło
gð×
reszta, którą wymyśliłem, była powyżej 3, jak:õ‚.B¤
Sð:
ðs∍
võJ
/v¶J
;€ðJ
/ۦJ
. A ponieważ sekwencja znaków jako We / Wy jest domyślnie dozwolona, gdy pojawi się zapytanie o We / Wy, możliwe są niektóre wersje 2-bajtowe:€ð
/ۦ
/εð
/ε¶
ið:
/¶:
. Chociaż ponieważ jest to dość stare wyzwanie, a wszystkie inne odpowiedzi używają rzeczywistych ciągów, zrozumiałbym, gdybyś zachował to jako ciąg I / O.Oktawa, 14 bajtów
źródło
CJam , 4 bajty
Wypróbuj online!
Wyjaśnienie
źródło
C, 45 bajtów
Za pomocą głównego. Kompiluj z gcc, ignoruj ostrzeżenia.
Stosowanie:
źródło
char**v
wmain(c,v)
?gcc main.c
nie wydaje się pozwalać na mieszanie definicji funkcji ANSI z definicją funkcji K&R, więcmain(c,char**v)
nie będzie się kompilować. Muszę to zrobićmain(int c,char**v)
lubmain(c,v)char**v;
ten drugi jest o 3 bajty krótszy. Nie znałbyś przypadkowo żadnej flagi lub czegoś, co pozwalałoby mieszać te style?char**v
całkowite usunięcie też się nie kompiluje.char**
całkowicie pominiesz, kompilator zinterpretuje go jakoint
. Jeśli się nie mylę, pojawia się błąd przy próbie dereferencjiint
i nawet jeśli tego nie zrobiłeś, program nie zrobiłby tego, czego się spodziewałeś, ponieważint
zużywa kilka sekundchar
i dlatego nigdy nie dostajeszNULL
wartości.JavaScript (ES6), 23 bajty
źródło
Excel, 18 bajtów
Dość nudne i jeden bajt dłuższy niż odpowiedź VBA .
źródło
> <> , 7 bajtów
Program jest pętlą
źródło
V , 2 bajty
Wypróbuj online!
Zwróć uwagę na spację końcową!
źródło
Sześciokąt ,
1211 bajtów-1 bajt dzięki Martin Ender
Wypróbuj online!
Oto rozwinięty hex:
Chociaż jest wprowadzany, ten kod działa:
Po osiągnięciu EOF:
źródło
M8;
(co daje 778 = 10 (mod 256)). To powinno pozwolić ci przenieść tam,~
gdzie;
jest teraz, oszczędzając bajt.Perl 5 , 7 bajtów
-1 bajt dzięki @Xcali
6 bajtów kodu +
-p
flaga.Wypróbuj online!
Całkiem prosto: zastępuje każdą postać spacją.
źródło
y// /c
jest o jeden bajt krótszy.Python 2, 25 bajtów
-2 bajty dzięki Loovjo
-2 bajty w niepoprawnym kodzie dzięki totalnie ludzkiemu: p
-3 bajtów
źródło
exec
ponieważ jest to słowo kluczowe w Pythonie 2exec'print;'*len(input())
działa.PHP, 36 bajtów
Wypróbuj online!
Generuje znaki nowej linii, ponieważ spacje są zbyt popularne
źródło
$argn
zamiast$argv[1]
zapisywać 4 bajty. Uruchom z-F
opcjąCubix , 6 bajtów
Wahoo 6 bajtów!
Cubified
i
dostaje wkład?
przetestuj stosw
zmianę linii, która przechodzi do@
zatrzymaniaSow
wypchniesz spację na stos, wyjdź i zmień linię nai
Wypróbuj online!
źródło
C, 32 bajty
Spróbuj modyfikować znaki online w spacje
C, 37 bajtów
Spróbuj online Wypełnienie lewej strony końca sznurka jego długością
źródło
APL (Dyalog) 13,2, 1 bajt
Drukuje tylko spacje.
∊
prototyp (liczby stają się zerami, znaki stają się spacjami)Wypróbuj online!
źródło