Zainspirowany tym pytaniem o pakowaniu w tym formacie.
Czasami widzę ukończone krzyżówki i będąc takim, jakim jestem, nie mogę się martwić, aby dowiedzieć się, jakie były rozwiązania dla wskazówek.
Wejście:
- Ciąg 2D (dowolny format, separacja nowego wiersza, lista 2d itp.)
- Puste kwadraty będą reprezentowane przez
(spację)
- Co drugi kwadrat będzie pisany małymi literami.
- Możesz założyć, że dane wejściowe zostaną wypełnione spacjami, aby utworzyć prostokąt
Wynik:
- Każde znalezione słowo
- Musisz wyszukiwać słowa wzdłuż i w dół
- Słowa będą miały co najmniej dwie litery
- Jeśli są zduplikowane słowa, musisz je wypisywać za każdym razem, gdy się pojawią
- Nie musisz dokonywać żadnej weryfikacji
- Słowa mogą być wyprowadzane w dowolnej kolejności
- Brak ścisłych reguł formatowania
Przypadki testowe:
word
e e
step
t d
word, step, west, reed
---
pies
not
no
wasp
pies, not, no, wasp, in, eons, stop
---
igloo
n
word
igloo, word, on
d
j
c ... )
CJam, 14 bajtów
Nienazwany blok, który oczekuje listy (wypełnionych) ciągów na górze stosu i zamiast tego pozostawia listę słów.
Sprawdź to tutaj.
Wyjaśnienie
źródło
JavaScript (ES6), 83 bajty
źródło
Pyth , 18 bajtów
Wypróbuj online!
Przykładowe dane wejściowe:
Przykładowe dane wyjściowe:
Jak to działa:
źródło
Haskell, 58 bajtów
Przykład użycia:
f ["pies"," not"," no","wasp"]
->["pies", "not", "no", "wasp", "in", "eons", "stop"]
.Jak to działa: podziel każdy wiersz danych wejściowych i transponuj go w odstępach na pojedyncze słowa z listy. Zachowaj te, które pasują
(_:_:_)
, tzn. Mają przynajmniej dwie litery.źródło
C ++ 14,
209207201 bajtówŚmiesznie duża ilość bajtów ... ale no cóż. Macierz transpozycji, podzielony ciąg. Łatwy. Szkoda, że nie ma natywnej funkcji do transpozycji
Nie golfowany:
Jak z niego korzystać (pamiętaj, że musisz wymusić wypełnianie, jak stanowi pytanie):
źródło
Pyke, 9 bajtów
Wypróbuj tutaj!
Lub 7 bajtów prettified
Wypróbuj tutaj!
źródło