Tivemos muitos desafios de alfabeto. Para esse desafio, você recebe a saída de um desafio de alfabeto e precisa gerar a saída do padrão dimensionado para o tamanhoN
.
Por exemplo, se N=5
você recebeu o alfabeto 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
Você precisaria produzir:
ABCDE
BBCDE
CCCDE
DDDDE
EEEEE
Para fins de explicação, usarei apenas ABCD
, em vez do alfabeto completo. Você precisa corresponder ao alfabeto L (acima), bem como aos seguintes padrões:
A única linha:
ABCD or A
B
C
D
A única linha repetida N
vezes
ABCD or AAAA
ABCD BBBB
ABCD CCCC
ABCD DDDD
O Tabula Recta :
ABCD
BCDA
CDAB
DABC
Este triângulo do alfabeto:
A or AAAAAAA
AB BBBBB
ABC CCC
ABCD D
ABC
AB
A
Também temos meios triângulos em muitas variedades:
A AAAA A ABCD
BB BBB AB ABC
CCC CC ABC AB
DDDD D ABCD A
Finalmente, a praça:
AAAAAAA
ABBBBBA
ABCCCBA
ABCDCBA
ABCCCBA
ABBBBBA
AAAAAAA
Todos os padrões acima são do tamanho 4. No entanto, você receberá um padrão do tamanho 26, bem como N
entre 1 e 26, e precisará escalar o padrão. Você não precisa lidar com outros padrões.
- A saída para 1 sempre será o caractere único
A
- A saída para 26 será sempre o mesmo padrão de tamanho passado.
- Espaços à direita são permitidos no final de cada linha, bem como uma nova linha à direita no final
- Você pode encontrar todos os padrões de tamanho 26 aqui
Este é um código-golfe , faça-o no menor número de bytes possível!
Respostas:
PHP, 502 bytes
Funciona com o comprimento da sequência de um padrão. Um padrão tem essas condições. Carta no início e no fim. CR são removidos.
Expandido
fonte
"substr"
,$_GET["n"]
,"Y"
(-6). 2)$x[$n]."\n"
->"$x[$n]\n"
, análogo para$u
(-2). 3) Estou certeza que você pode usar algum tipo de>
para as suas<number>==$l
comparações (-4). 4)($n=0;$n<...;$n++)
->($n=-1;++$n<...;)
(-1). 5)if($o)
é desnecessário: se$o
estiver vazio, o mesmo ocorre comstrrev($o)
qualquer uma de suas substrings, para que nada seja impresso (-6). 6)&&
->&
(-1). 7) Você realmente precisa de uma string vazia em vez de nula para substr?$x[$n]??""
->$x[$n]
(-4)?R,
483412 bytesEsta é a minha primeira vez que postamos, me disseram que eu não tinha uma experiência recente com R, então pratique um pouco aqui.
Expandido
fonte
JavaScript (ES6),
382380370 bytesPasse uma matriz de strings para a função
f()
, assim:Versão menos golfe com comentários:
fonte