Dada una entrada de cadena, escriba un programa que imprima un valor verdadero en STDOUT o equivalente si la entrada es un UUID válido, sin usar expresiones regulares.
Un UUID válido es
32 dígitos hexadecimales, mostrados en cinco grupos separados por guiones, en la forma 8-4-4-4-12 para un total de 36 caracteres (32 caracteres alfanuméricos y cuatro guiones).
Casos de prueba
0FCE98AC-1326-4C79-8EBC-94908DA8B034
=> true
00000000-0000-0000-0000-000000000000
=> true
0fce98ac-1326-4c79-8ebc-94908da8b034
=> true
0FCE98ac-1326-4c79-8EBC-94908da8B034
=> true
{0FCE98AC-1326-4C79-8EBC-94908DA8B034}
=> false (the input is wrapped in brackets)
0GCE98AC-1326-4C79-8EBC-94908DA8B034
=> false (there is a G in the input)
0FCE98AC 1326-4C79-8EBC-94908DA8B034
=> false (there is a space in the input)
0FCE98AC-13264C79-8EBC-94908DA8B034
=> false (the input is missing a hyphen)
0FCE98AC-13264-C79-8EBC-94908DA8B034
=> false (the input has a hyphen in the wrong place)
0FCE98ACD-1326-4C79-8EBC-94908DA8B034
=> false (one of the groups is too long)
0FCE98AC-1326-4C79-8EBC-94908DA8B034-
=> false (has a trailing hyphen)
0FCE98AC-1326-4C79-8EBC-94908DA8B034-123
=> false (too many groups)
0FCE98AC13264C798EBC94908DA8B034
=> false (there is no grouping)
Reglas
- No se permiten expresiones regulares.
- La coincidencia de patrones literales que es como una expresión regular no está permitida. Por ejemplo, usar
[0-9a-fA-F]
u otros identificadores hexadecimales (lo llamaremosn
) y luego hacer coincidirnnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
on[8]-n[4]-n[4]-n[4]-n[12]
no está permitido - La entrada puede tomarse
STDIN
o como argumento de una función - La entrada no distingue entre mayúsculas y minúsculas
- Es seguro asumir que la entrada no contendrá saltos de línea o saltos de línea.
- La entrada puede contener caracteres ASCII imprimibles (espacios incluidos)
- Se debe imprimir un valor verdadero
STDOUT
o equivalente si la entrada es un uid válido - Se debe imprimir un valor de falsey
STDOUT
o equivalente si la entrada no es un uuid válido - Si usa una función, en lugar de usar
STDOUT
, la salida puede ser el valor de retorno de la función - No se puede imprimir el valor verdadero / falso
STDERR
. - Se aplican lagunas estándar
- Este es el código de golf , por lo que gana el programa más corto en bytes. ¡Buena suerte!
Tabla de clasificación
Este es un fragmento de pila que genera una tabla de clasificación y una descripción general de los ganadores por idioma.
Para asegurarse de que su respuesta se muestre, comience con un título usando la siguiente plantilla de Markdown
## Language Name, N bytes
Donde N es el tamaño, en bytes, de su envío
Si desea incluir varios números en su encabezado (por ejemplo, tachar los puntajes antiguos o incluir marcas en el recuento de bytes), solo asegúrese de que el puntaje real sea el último número en su encabezado
## Language Name, <s>K</s> X + 2 = N bytes
\h{8}-\h{4}-\h{4}-\h{4}-\h{12}
(donde \h
es un dígito hexadecimal) son válidas.