Desafio retirado do meu concurso de desafio de código da universidade
Na verdade, este é o dia 0, mas o desafio de ontem foi muito fácil e pode ser uma brincadeira de outra pergunta aqui.
Tetris é um videogame que se tornou popular nos anos 80. Consiste em colocar uma série de peças com formas diferentes que caem em um tabuleiro, para que se encaixem da maneira mais compacta possível.
Neste problema, assumiremos uma sequência de peças que caem, cada uma em uma determinada posição e com uma certa orientação que não pode ser alterada. As peças são empilhadas quando caem e as linhas completas não são eliminadas (como no jogo original). O objetivo é determinar a altura final de cada coluna do tabuleiro depois que todas as peças caírem.
Há um total de 7 peças diferentes, mostradas na figura:
Desafio
Dada uma lista de peças, produza a altura de todas as colunas do tabuleiro depois que todas as peças caírem
Uma peça consiste em três números: I, R e P. O primeiro número, I, é o identificador da peça (um número entre 1 e 7, na mesma ordem que na figura). O segundo número, R, é a rotação da peça. Pode assumir os valores 0, 90, 180 ou 270 e representa o ângulo de rotação da peça no sentido anti-horário. O terceiro número, P, indica a posição da peça. Representa a coluna à esquerda ocupada pela peça (pode ser um índice de 1 ou 0. Por favor, especifique).
Exemplo e caso de teste (1 índice)
- Dado
[[1, 0, 1], [4, 0, 1], [5, 90, 4]]
- Resultado
[3, 3, 1, 3, 2]
- Dado
[[6, 270, 4], [1, 180, 5], [1, 90, 6], [7, 0, 4]]
- Resultado
[0, 0, 0, 9, 9, 8, 3, 3]
[[3,0,1],[3,180,3]]
Saída dada[1,1,4,4,4]
[[2,180,1],[2,0,3]]
Saída dada[2,2,4,3,3]
Notas
- Isso é código-golfe
- Linha / coluna pode ser 1 ou 0 índice. Por favor especifique.
- Você pode redefinir os valores de entrada (talvez queira chamar a peça 1 como A, etc.). Nesse caso, especifique
Questões
Podemos usar 4 valores distintos em vez de um ângulo em graus ?: Sim
Devemos lidar com "furos" se uma peça não se encaixar exatamente nas anteriores ?: Sim
A altura ou a largura da placa são limitadas? Não. Nem a largura nem a altura são limitadas
Obrigado @Arnauld pelas imagens e pelos casos de teste *. *
I
,R
eP
ser de entrada em uma ordem diferente?