Existem 97 caracteres ASCII que as pessoas encontram regularmente. Eles se enquadram em quatro categorias:
Letras (52 total)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Números ou dígitos (10 total)
0123456789
Símbolos e pontuação (32 total)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Espaço em branco (total de 3)
Espaço
\t
e nova linha\n
. (Trataremos as variantes de nova linha\r\n
como um caractere.)
Por concisão, chamaremos essas categorias de L, N, S e W, respectivamente.
Escolha uma das 24 permutações das letras que LNSW
você deseja e repita-a indefinidamente para formar um modelo de programação para você.
Por exemplo, você pode escolher a permutação NLWS
, para que seu modelo de programação seja:
NLWSNLWSNLWSNLWSNLWS...
Você precisa escrever um programa ou função com base neste modelo, onde:
Todo
L
é substituído por qualquer letra (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
).Todo
N
é substituído por qualquer número (0123456789
).Todo
S
é substituído por qualquer símbolo (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).Todos
W
são substituídos por qualquer caractere de espaço em branco (\t\n
).
Basicamente, seu código deve seguir o padrão
<letter><number><symbol><whitespace><letter><number><symbol><whitespace>...
como o título da pergunta sugere, exceto que você pode escolher uma ordem diferente das quatro categorias de caracteres, se desejar.
Observe que:
As substituições para uma categoria podem ter caracteres diferentes. por exemplo, em
9a ^8B\t~7c\n]
conformidade com o modeloNLWSNLWSNLWS
(\t
e\n
seriam seus caracteres literais).Não há restrições de tamanho de código. por exemplo,
1A +2B -
e1A +2B
e1A
e1
todos em conformidade com o modeloNLWSNLWSNLWS...
.
O que o código em conformidade com o modelo deve fazer é pegar um caractere ASCII não estendido e gerar um número de 0 a 4 com base em qual categoria ele é membro na categorização acima. Ou seja, saída 1
se a entrada for uma letra, 2
se um número, 3
se um símbolo e 4
se houver espaço em branco. Saída 0
se a entrada não for uma dessas (um caractere de controle ).
Para entrada, você pode, alternativamente, inserir um número de 0 a 127 inclusive, que representa o código do caractere ASCII de entrada.
Os pares de entrada (como código de caracteres) e de saída que seu código deve ter são exatamente os seguintes:
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
As entradas 11, 12 e 13 correspondem a caracteres que às vezes são considerados espaços em branco, portanto, suas saídas podem ser 0
ou 4
como você deseja.
O código mais curto em bytes vence.