Es gibt 97 ASCII- Zeichen, die Menschen regelmäßig begegnen. Sie fallen in vier Kategorien:
Buchstaben (52 gesamt)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Zahlen oder Ziffern (10 insgesamt)
0123456789
Symbole & Interpunktion (32 insgesamt)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Leerzeichen (3 insgesamt)
Raum
\t
und Newline\n
. (Wir behandeln Zeilenumbruchvarianten\r\n
als ein Zeichen.)
Der Einfachheit halber werden wir diese Kategorien L, N, S und W nennen.
Wählen Sie eine der 24 Permutationen der LNSW
gewünschten Buchstaben aus und wiederholen Sie sie auf unbestimmte Zeit, um eine eigene Programmiervorlage zu erstellen.
Beispielsweise könnten Sie die Permutation auswählen NLWS
, sodass Ihre Programmiervorlage wie folgt lautet:
NLWSNLWSNLWSNLWSNLWS...
Sie müssen ein Programm oder eine Funktion basierend auf dieser Vorlage schreiben, wobei:
Jeder
L
wird durch einen Buchstaben (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
) ersetzt.Jedes
N
wird durch eine beliebige Zahl ersetzt (0123456789
).Jedes
S
wird durch ein beliebiges Symbol (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
) ersetzt.Jedes
W
Zeichen wird durch ein Leerzeichen (\t\n
) ersetzt.
Grundsätzlich muss Ihr Code dem Muster folgen
<letter><number><symbol><whitespace><letter><number><symbol><whitespace>...
Wie aus dem Fragentitel hervorgeht, können Sie bei Bedarf eine andere Reihenfolge der vier Zeichenkategorien auswählen.
Beachten Sie, dass:
Ersetzungen für eine Kategorie können unterschiedliche Zeichen sein. zB
9a ^8B\t~7c\n]
passt sich gültig an die Schablone anNLWSNLWSNLWS
(\t
und\n
würde ihre wörtlichen Zeichen sein).Es gibt keine Code-Längenbeschränkungen. zB
1A +2B -
und1A +2B
und1A
und1
alle entsprechen der VorlageNLWSNLWSNLWS...
.
In Ihrem vorlagenkonformen Code muss lediglich ein nicht erweitertes ASCII- Zeichen verwendet und eine Zahl von 0 bis 4 ausgegeben werden, je nachdem, zu welcher Kategorie er in der obigen Kategorisierung gehört. Das heißt, es wird ausgegeben, 1
wenn die Eingabe ein Buchstabe, 2
eine Zahl, 3
ein Symbol und ein 4
Leerzeichen ist. Ausgabe, 0
wenn die Eingabe keine davon ist (ein Steuerzeichen ).
Zur Eingabe können Sie alternativ eine Zahl von 0 bis einschließlich 127 eingeben, die den Code des eingegebenen ASCII-Zeichens darstellt.
Die Eingabe- (als Zeichencode) und Ausgabepaare, die Ihr Code haben muss, lauten genau wie folgt:
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
Die Eingänge 11, 12 und 13 entsprechen den Zeichen, die manchmal Leerzeichen betrachtet, so kann ihre Ausgaben sein 0
oder , 4
wie Sie wünschen.
Der kürzeste Code in Bytes gewinnt.