Hace casi seis años, el miembro miembro de PPCG steenslag publicó el siguiente desafío:
En un dado estándar (dado) los números están ordenados de modo que las caras opuestas sumen siete. Escriba el programa más corto posible en su idioma preferido que genere un lanzamiento aleatorio seguido de 9 propinas aleatorias. Una propina es un cuarto de vuelta del dado, por ejemplo, si el dado está orientado hacia 5, todas las posibles propinas son 1,3,4 y 6.
Ejemplo de salida deseada:
1532131356
Entonces, ahora que todos lo han olvidado por completo y la respuesta ganadora ha sido aceptada desde hace mucho tiempo, escribiremos un programa para validar las secuencias de troquelado generadas por las soluciones enviadas. (Esto tiene sentido. Solo finja que sí).
Reto
Su programa o función recibe una secuencia como 1532131356
. Valide que cada dígito consecutivo sea:
- No es igual al dígito anterior
- No es igual a 7 menos el dígito anterior
(No tiene que validar el primer dígito).
Reglas
- Su programa debe devolver un valor verdadero si la entrada es válida y un valor falso de lo contrario.
- Puede suponer que la entrada consta solo de los dígitos 1-6 y tiene al menos 1 carácter de longitud. Las secuencias no tendrán una longitud fija como en el desafío de steenslag.
- Puede tomar la entrada como una cadena (
"324324"
), una matriz o una estructura de datos tipo matriz ([1,3,5]
) o como múltiples argumentos (yourFunction(1,2,4)
).
Se aplican las reglas estándar de E / S y lagunas .
Casos de prueba
Verdad
1353531414
3132124215
4142124136
46
4264626313135414154
6
2642156451212623232354621262412315654626212421451351563264123656353126413154124151545145146535351323
5414142
Falsey
Dígito repetido
11 3132124225 6423126354214136312144245354241324231415135454535141512135141323542451231236354513265426114231536245 553141454631 14265411
Lado opuesto del dado
16 42123523545426464236231321 61362462636351 62362462636361