사람들이 정기적으로 만나는 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당신이 원하는대로.
바이트 단위의 가장 짧은 코드가 이깁니다.