Mieliśmy wiele problemów z alfabetem. W przypadku tego wyzwania otrzymujesz wynik wyzwania alfabetycznego i musisz wygenerować wzór skalowany do rozmiaruN
.
Na przykład, jeśli N=5
i masz zaliczony alfabet L :
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BBCDEFGHIJKLMNOPQRSTUVWXYZ
CCCDEFGHIJKLMNOPQRSTUVWXYZ
DDDDEFGHIJKLMNOPQRSTUVWXYZ
EEEEEFGHIJKLMNOPQRSTUVWXYZ
FFFFFFGHIJKLMNOPQRSTUVWXYZ
GGGGGGGHIJKLMNOPQRSTUVWXYZ
HHHHHHHHIJKLMNOPQRSTUVWXYZ
IIIIIIIIIJKLMNOPQRSTUVWXYZ
JJJJJJJJJJKLMNOPQRSTUVWXYZ
KKKKKKKKKKKLMNOPQRSTUVWXYZ
LLLLLLLLLLLLMNOPQRSTUVWXYZ
MMMMMMMMMMMMMNOPQRSTUVWXYZ
NNNNNNNNNNNNNNOPQRSTUVWXYZ
OOOOOOOOOOOOOOOPQRSTUVWXYZ
PPPPPPPPPPPPPPPPQRSTUVWXYZ
QQQQQQQQQQQQQQQQQRSTUVWXYZ
RRRRRRRRRRRRRRRRRRSTUVWXYZ
SSSSSSSSSSSSSSSSSSSTUVWXYZ
TTTTTTTTTTTTTTTTTTTTUVWXYZ
UUUUUUUUUUUUUUUUUUUUUVWXYZ
VVVVVVVVVVVVVVVVVVVVVVWXYZ
WWWWWWWWWWWWWWWWWWWWWWWXYZ
XXXXXXXXXXXXXXXXXXXXXXXXYZ
YYYYYYYYYYYYYYYYYYYYYYYYYZ
ZZZZZZZZZZZZZZZZZZZZZZZZZZ
Musisz wyprowadzić:
ABCDE
BBCDE
CCCDE
DDDDE
EEEEE
Dla wyjaśnienia użyję tylko ABCD
zamiast pełnego alfabetu. Musisz być w stanie dopasować alfabet L (powyżej), a także następujące wzorce:
Pojedyncza linia:
ABCD or A
B
C
D
Pojedyncza linia powtarzana N
razy
ABCD or AAAA
ABCD BBBB
ABCD CCCC
ABCD DDDD
ABCD
BCDA
CDAB
DABC
Ten trójkąt alfabetu:
A or AAAAAAA
AB BBBBB
ABC CCC
ABCD D
ABC
AB
A
Mamy również pół trójkąty w wielu odmianach:
A AAAA A ABCD
BB BBB AB ABC
CCC CC ABC AB
DDDD D ABCD A
Wreszcie kwadrat:
AAAAAAA
ABBBBBA
ABCCCBA
ABCDCBA
ABCCCBA
ABBBBBA
AAAAAAA
Wszystkie powyższe wzory są w rozmiarze 4. Zostaniesz jednak przekazany wzór w rozmiarze 26, a także N
między 1 a 26, i musisz skalować wzór. Nie musisz obsługiwać żadnych innych wzorów.
- Wyjściem dla 1 będzie zawsze pojedynczy znak
A
- Wyjście dla 26 zawsze będzie takie samo, pełnowymiarowego wzorca przekazanego.
- Końcowe spacje są dozwolone na końcu każdej linii, a także końcowy znak nowej linii na końcu
- Można znaleźć wszystkie wzorce wielkości 26 tutaj
To jest golf golfowy , więc zrób to jak najmniej bajtów!
Odpowiedzi:
PHP, 502 bajtów
Działa z długością łańcucha wzoru. Wzór ma te warunki. List na początku i na końcu. CR są usuwane.
Rozszerzony
źródło
"substr"
,$_GET["n"]
,"Y"
(-6). 2)$x[$n]."\n"
->"$x[$n]\n"
, analog dla$u
(-2). 3) Jestem pewien, że możesz użyć jakiegoś rodzaju>
do<number>==$l
porównań (-4). 4)($n=0;$n<...;$n++)
->($n=-1;++$n<...;)
(-1). 5)if($o)
jest niepotrzebny: jeśli$o
jest pusty, podobnie jakstrrev($o)
i którykolwiek z jego podciągów, więc nic nie zostanie wydrukowane (-6). 6)&&
->&
(-1). 7) Czy naprawdę potrzebujesz pustego łańcucha zamiast wartości zerowej dla substr?$x[$n]??""
->$x[$n]
(-4)?R,
483412 bajtówTo jest mój pierwszy post, powiedziano mi, że nie mam doświadczenia z R w ostatnich latach, więc po prostu poćwicz trochę tutaj.
Rozszerzony
źródło
JavaScript (ES6),
382380370 bajtówPrzekaż tablicę ciągów do funkcji
f()
, tak jak to:Wersja mniej golfowa z komentarzami:
źródło