Biorąc pod uwagę ciąg, musisz podzielić go na grupy po trzy znaki (przez wypełnienie
_
na końcu).Powiązane , ale wciąż jest inaczej.
Przykładowe I / O:
'abcde' -> 'abc', 'de_'
'1234' -> '123', '4__'
'' -> [] or falsey value
'Three spree!' -> 'Thr', 'ee ', 'spr', 'ee!'
To jest golf golfowy , więc wygra najmniej bajtów!
Edycja: W końcu dane wyjściowe są nieograniczone .
Odpowiedzi:
05AB1E ,
98 bajtówWypróbuj online! lub jako pakiet testowy
Wyjaśnienie
źródło
Python 3,
58 4734 bajtówJestem pewien, że ktoś inny może zrobić lepiej.Ktoś inny zrobił to lepiej. Dzięki Jo King za-11-24 bajty!Wyjście jest nieograniczone, witaj w krotce piekła. Zwraca pustą listę ( fałsz ) przy pustych danych wejściowych
TIO
źródło
JavaScript, 25 bajtów
Spróbuj
źródło
Perl 5 ,
1615 bajtówWypróbuj online!
źródło
"@_\__"=~/.../g
. Były inne 16:(pop.__)=~/.../g
lubmap/.../g,pop.__
.APL + WIN
36 2422 bajtów12 bajtów zapisanych w wyniku ograniczenia wyjścia i użycia kodu w pierwszym komentarzu @ Adám zmodyfikowanym do pracy w APL + WIN oraz kolejnych 2 z drugim komentarzem. Dzięki.
Monituje o wprowadzenie ciągu i wyświetla wynik jako tablicę nx3
Wypróbuj online! Dzięki uprzejmości Dyalog Classic
źródło
''
, nie? Myślę, że OP (z jakiegoś dziwnego powodu) wymaga wyniku0
(z dowolną rangą).JavaScript,
51 50 48 2725Wypróbuj online!
źródło
Perl 6 , 19 bajtów
Wypróbuj online!
Wypełnia ciąg dwoma znakami podkreślenia, a następnie dzieli ciąg na fragmenty trzech znaków. Zwraca jako tablicę obiektów dopasowania.
źródło
Japt , 8 bajtów
+1 bajt do specjalnego przypadku pusty ciąg. Może uratować 2, jeśli możemy wybrać naszą postać wypełniającą.
Spróbuj
źródło
Stax , 7 bajtów
Uruchom i debuguj
W przypadku pustego ciągu wejściowego wynikiem jest pusta tablica, która jest wartością falsey w stax.
źródło
CJam , 11 bajtów
Wypróbuj online!
W przypadku pustych danych wejściowych daje to pusty ciąg znaków, co jest fałszem.
Jak to działa
źródło
Retina 0.8.2 , 10 bajtów
Wypróbuj online! Link zawiera przypadki testowe. Wyjaśnienie:
Dołącz dwa
_
s, na wypadek gdyby ostatnia grupa musiała zostać uzupełniona.Dopasuj jak najwięcej grup po trzy, generując same dopasowania, a nie liczbę. (W Retinie 1 byłoby to
L
zamiast!
.)źródło
C (gcc) , 67 bajtów
Wypróbuj online!
Zawsze zwraca wartość falsey (0).
źródło
Wolfram Language (Mathematica) ,
2821 bajtów-7: Nie wymaga już
False
wartości falsy ( ) na pustych danych wejściowychWypróbuj online!
Pobiera na wejściu listę znaków. Zwraca listę 3 krotek znaków wypełnionych
Blank
s (_
).3427 bajtówWypróbuj online!
Ciąg wejściowy, lista ciągów wyjściowych
źródło
Galaretka , 9 bajtów
Monadyczny link akceptujący listę znaków, który daje listę list znaków (puste wejście daje puste wyjście).
Wypróbuj online!
W jaki sposób?
Uwagi:
Jest
€
to konieczne tylko do obsługi przypadku krawędzi pustego wejścia.Pełny program może upuścić końcowy ciąg
”
, ale tutaj nie możemy tego zrobić, ponieważ zachowanie pełnego programu podczas drukowania rozbija wszystko razem.Odpowiednik 9:
Spróbuj
Alternatywa 9:
Spróbuj
źródło
J , 16 bajtów
Wypróbuj online!
K (oK) ,
1917 bajtów-2 bajty dzięki ngn!
Wypróbuj online!
źródło
(0N;3)
->0N 3
Java 10,
116113 bajtówWypróbuj online.
Lub
104101 bajtów, jeśli pusta tablica zamiastfalse
jest dozwolona jako dane wyjściowe.Wypróbuj online.
Wyjaśnienie:
źródło
Ruby,
7342 bajtyEdycja: Jak wygląda wartość falsey, nie jest wymagana:
źródło
'_'*2
wystarczyłoby, dla których literał'__'
jest krótszy. Ale jeśli dodać dopełnienie wcześniej po prostu nie pasuje do kawałków krótszy niż 3 znaki, jest krótszy:puts"#{gets}__".scan /.../
. (Należy pamiętać, że bez wyraźnego druku, które uważa się zairb
nieruby
.)C # (interaktywny kompilator Visual C #) , 74 bajty
Wystarczy dodać dwa podkreślenia „_” na końcu wejścia, aby upewnić się, że zostaną wydrukowane, jeśli długość wejścia nie jest 3-krotna.
Wypróbuj online!
źródło
Kotlin , 34 bajty
Wypróbuj online!
źródło
{"${it}___".chunked(3).dropLast(1)}
C (gcc) , 55 bajtów
Wypróbuj online!
źródło
\t
) zamiast 10 (\n
) powinno być w porządku, ale to nie jest główny punktC (clang) ,
1281269467 bajtów67 bajtów dzięki @ceilingcat
Wypróbuj online!
źródło
Bash , 90 bajtów
Wykorzystuje to funkcje Bash, a nie kombinację bardziej tradycyjnej powłoki Bourne'a oraz poleceń * nix (które utworzyłem w jednej wersji z 205 bajtami). Oszukiwałem, stosując unik dodawania dwóch znaków _ do łańcucha.
Wypróbuj online!
źródło
PowerShell ,
5835 bajtów-23 bajty dzięki mazzy .
Wypróbuj online!
źródło
GNU sed , 27 bajtów
Wypróbuj online!
Robi się nieco trudniej, jeśli chodzi o wprowadzanie pustych ciągów, ponieważ sed nie ma znaczenia wartości fałszowania. Aby sobie z tym poradzić, przedstawiam dwie możliwe interpretacje zasad w celu potwierdzenia mojego zgłoszenia:
O. Zasadniczo nie podajesz nic jako danych wejściowych, nawet końcowego nowego wiersza (jak ma to miejsce we wszystkich przykładach, w tym w pliku 6 Mb).
Stosowanie:
Dane wyjściowe: nic nie jest drukowane, ponieważ sed nawet nie uruchamia skryptu bez danych wejściowych.
B. Za wartość fałszowania dla sed można uznać unikalny ciąg, tzn. Zwracany tylko wtedy, gdy wejście jest pustym ciągiem.
Stosowanie:
Wynik:
Wolę pierwszą interpretację o wiele bardziej, ponieważ uważam, że jest ona najbliższa zamierzonej regule, ale ostatnia pomaga, jeśli uruchomisz skrypt za pomocą tego łącza TIO.
źródło
JavaScript (węzeł Babel) , 45 bajtów
Wypróbuj online!
źródło
Galaretka , 10 bajtów
Wypróbuj online!
Wydaje się, że 8 lub 9 powinno być możliwe, ale jeszcze ich nie znalazłem.
źródło
Attache ,
3423 bajtówWypróbuj online!
Wyjaśnienie (nieaktualne)
źródło
Węgiel drzewny , 10 bajtów
Wypróbuj online! Link jest do pełnej wersji kodu. Wyjaśnienie:
źródło
Scala , 31 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
Befunge-93 ,
3029 bajtówWypróbuj online!
Nie wyświetla nic dla pustych danych wejściowych, w przeciwnym razie wyświetla łańcuchy o długości 3 oddzielone znakami NUL.
Wyjaśnienie:
źródło