사람들이 정기적으로 만나는 ASCII 문자 는 97 개 입니다. 그들은 네 가지 범주로 나뉩니다.
편지 (총 52 개)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
숫자 또는 숫자 (총 10 개)
0123456789
기호 및 문장 부호 (총 32 개)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
공백 (총 3 개)
공백
\t
및 줄 바꿈\n
. (개행 변형\r\n
을 하나의 문자 처럼 취급 합니다.)
간결성을 위해 이러한 범주를 각각 L, N, S 및 W라고합니다.
LNSW
원하는 글자의 24 개 순열 중 하나를 선택 하고 무한대로 반복하여 자신을위한 프로그래밍 템플릿을 만듭니다.
예를 들어 순열을 선택할 수 NLWS
있으므로 프로그래밍 템플릿은 다음과 같습니다.
NLWSNLWSNLWSNLWSNLWS...
이 템플릿을 기반으로 프로그램 또는 함수를 작성해야합니다.
모든
L
문자 (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
) 로 바뀝니다 .모든
N
숫자는 임의의 숫자 (0123456789
) 로 바뀝니다 .모든
S
기호 (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
) 로 바뀝니다 .모든
W
공백 문자 (\t\n
) 로 바뀝니다 .
기본적으로 코드는 패턴을 따라야합니다
<letter><number><symbol><whitespace><letter><number><symbol><whitespace>...
질문 제목에서 알 수 있듯이 원하는 경우 4 가지 문자 범주의 다른 순서를 선택할 수 있습니다.
참고 :
카테고리 대체는 다른 문자 일 수 있습니다. 예를 들어
9a ^8B\t~7c\n]
템플릿을 올바르게 준수합니다NLWSNLWSNLWS
(\t
그리고\n
문자 그대로).코드 길이 제한이 없습니다. 예를 들면
1A +2B -
및1A +2B
및1A
및1
모든 템플릿에 적합NLWSNLWSNLWS...
.
템플릿에 맞는 코드가 수행해야하는 것은 확장되지 않은 ASCII 문자 하나를 가져 와서 위의 분류에서 구성원이 속한 범주에 따라 0에서 4까지의 숫자를 출력하는 것입니다. 즉, 1
입력이 문자, 2
숫자, 3
기호 및 4
공백이면 출력됩니다. 0
입력이이 중 어느 것도 아닌 경우 출력 합니다 ( 제어 문자 ).
입력의 경우 입력 ASCII 문자의 코드를 나타내는 0에서 127까지의 숫자를 사용할 수도 있습니다.
코드에 포함 된 입력 (문자 코드) 및 출력 쌍은 다음과 같습니다.
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
입력 11, 12,하는 자 (13)에 대응 때때로 공백으로 간주, 따라서 그들의 출력 할 수있다 0
또는 4
당신이 원하는대로.
바이트 단위의 가장 짧은 코드가 이깁니다.