Hay 97 caracteres ASCII que las personas encuentran regularmente. Se dividen en cuatro categorías:
Cartas (52 en total)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Números o dígitos (10 en total)
0123456789
Símbolos y puntuación (32 en total)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Espacio en blanco (3 en total)
Espacio
\t
y nueva línea\n
. (Trataremos las variantes de nueva línea\r\n
como un solo personaje).
Para mayor concisión, llamaremos a estas categorías L, N, S y W, respectivamente.
Elija cualquiera de las 24 permutaciones de las letras LNSW
que desee y repítalas indefinidamente para formar una plantilla de programación para usted.
Por ejemplo, puede elegir la permutación NLWS
, por lo que su plantilla de programación sería:
NLWSNLWSNLWSNLWSNLWS...
Necesita escribir un programa o función basado en esta plantilla, donde:
Cada
L
se reemplaza con cualquier letra (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
).Cada
N
se reemplaza con cualquier número (0123456789
).Cada
S
se reemplaza con cualquier símbolo (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).Cada
W
se reemplaza con cualquier carácter de espacio en blanco (\t\n
).
Básicamente, su código debe seguir el patrón
<letter><number><symbol><whitespace><letter><number><symbol><whitespace>...
como sugiere el título de la pregunta, excepto que puede elegir un orden diferente de las cuatro categorías de caracteres, si lo desea.
Tenga en cuenta que:
Los reemplazos para una categoría pueden ser caracteres diferentes. Por ejemplo, se
9a ^8B\t~7c\n]
ajusta válidamente a la plantillaNLWSNLWSNLWS
(\t
y\n
serían sus caracteres literales).No hay restricciones de longitud de código. por ejemplo,
1A +2B -
and1A +2B
y1A
y1
todos se ajustan a la plantillaNLWSNLWSNLWS...
.
Lo que debe hacer su código conformado por plantilla es tomar un carácter ASCII no extendido y generar un número del 0 al 4 en función de la categoría de la que es miembro en la categorización anterior. Es decir, salida 1
si la entrada es una letra, 2
si es un número, 3
si es un símbolo y 4
si es un espacio en blanco. Salida 0
si la entrada no es ninguno de estos (un carácter de control ).
Para la entrada, también puede tomar un número del 0 al 127 inclusive que represente el código del carácter ASCII de entrada.
Los pares de entrada (como código char) y salida que debe tener su código son exactamente los siguientes:
in out
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 4
10 4
11 0 or 4
12 0 or 4
13 0 or 4
14 0
15 0
16 0
17 0
18 0
19 0
20 0
21 0
22 0
23 0
24 0
25 0
26 0
27 0
28 0
29 0
30 0
31 0
32 4
33 3
34 3
35 3
36 3
37 3
38 3
39 3
40 3
41 3
42 3
43 3
44 3
45 3
46 3
47 3
48 2
49 2
50 2
51 2
52 2
53 2
54 2
55 2
56 2
57 2
58 3
59 3
60 3
61 3
62 3
63 3
64 3
65 1
66 1
67 1
68 1
69 1
70 1
71 1
72 1
73 1
74 1
75 1
76 1
77 1
78 1
79 1
80 1
81 1
82 1
83 1
84 1
85 1
86 1
87 1
88 1
89 1
90 1
91 3
92 3
93 3
94 3
95 3
96 3
97 1
98 1
99 1
100 1
101 1
102 1
103 1
104 1
105 1
106 1
107 1
108 1
109 1
110 1
111 1
112 1
113 1
114 1
115 1
116 1
117 1
118 1
119 1
120 1
121 1
122 1
123 3
124 3
125 3
126 3
127 0
Las entradas 11, 12 y 13 corresponden a caracteres que a veces se consideran espacios en blanco, por lo tanto, sus salidas pueden ser 0
o 4
como desee.
El código más corto en bytes gana.