-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path풀라
More file actions
190 lines (178 loc) · 3.31 KB
/
풀라
File metadata and controls
190 lines (178 loc) · 3.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
#!/usr/bin/env python3
귀띔 = """모아쓴 한글을 풀어씁니다.
풀라 <글>: <글>을 풀어씁니다.
풀라 ㄸ: 대중들이(stdin)에서 읽은 글을 풀어씁니다.
풀라 ㅇ <아롬(파일)이름>: <아롬이름>에서 읽은 글을 풀어씁니다."""
첫소리들 = {
0: 'ㄱ',
1: 'ㄲ',
2: 'ㄴ',
3: 'ㄷ',
4: 'ㄸ',
5: 'ㄹ',
6: 'ㅁ',
7: 'ㅂ',
8: 'ㅃ',
9: 'ㅅ',
10: 'ㅆ',
11: '',
12: 'ㅈ',
13: 'ㅉ',
14: 'ㅊ',
15: 'ㅋ',
16: 'ㅌ',
17: 'ㅍ',
18: 'ㅎ'
}
가운뎃소리들 = {
0: 'ㅏ',
1: 'ㅐ',
2: 'ㅑ',
3: 'ㅒ',
4: 'ㅓ',
5: 'ㅔ',
6: 'ㅕ',
7: 'ㅖ',
8: 'ㅗ',
9: 'ㅘ',
10: 'ㅙ',
11: 'ㅚ',
12: 'ㅛ',
13: 'ㅜ',
14: 'ㅝ',
15: 'ㅞ',
16: 'ㅟ',
17: 'ㅠ',
18: 'ㅡ',
19: 'ㅢ',
20: 'ㅣ'
}
끝소리들 = {
0: '',
1: 'ㄱ',
2: 'ㄲ',
3: 'ㄳ',
4: 'ㄴ',
5: 'ㄵ',
6: 'ㄶ',
7: 'ㄷ',
8: 'ㄹ',
9: 'ㄺ',
10: 'ㄻ',
11: 'ㄼ',
12: 'ㄽ',
13: 'ㄾ',
14: 'ㄿ',
15: 'ㅀ',
16: 'ㅁ',
17: 'ㅂ',
18: 'ㅄ',
19: 'ㅅ',
20: 'ㅆ',
21: 'ㅇ',
22: 'ㅈ',
23: 'ㅊ',
24: 'ㅋ',
25: 'ㅌ',
26: 'ㅍ',
27: 'ㅎ'
}
닿홀소리들 = {
'ㄱ': '',
'ㄲ': '',
'ㄳ': '',
'ㄴ': '',
'ㄵ': '',
'ㄶ': '',
'ㄷ': '',
'ㄸ': '',
'ㄹ': '',
'ㄺ': '',
'ㄻ': '',
'ㄼ': '',
'ㄽ': '',
'ㄾ': '',
'ㄿ': '',
'ㅀ': '',
'ㅁ': '',
'ㅂ': '',
'ㅃ': '',
'ㅄ': '',
'ㅅ': '',
'ㅆ': '',
'ㅇ': '',
'ㅈ': '',
'ㅉ': '',
'ㅊ': '',
'ㅋ': '',
'ㅌ': '',
'ㅍ': '',
'ㅎ': '',
'ㅏ': '',
'ㅐ': '',
'ㅑ': '',
'ㅒ': '',
'ㅓ': '',
'ㅔ': '',
'ㅕ': '',
'ㅖ': '',
'ㅗ': '',
'ㅘ': '',
'ㅙ': '',
'ㅚ': '',
'ㅛ': '',
'ㅜ': '',
'ㅝ': '',
'ㅞ': '',
'ㅟ': '',
'ㅠ': '',
'ㅡ': '',
'ㅢ': '',
'ㅣ': '',
'': ''
}
from sys import argv as 줄넘김
from sys import stdin as 대중들이
from sys import exit as 나가라
두루째 = ord
길이 = len
열라 = open
박으라 = print
참 = True
거짓 = False
__이름__ = __name__
가째 = 두루째('가') #0xAC00
힣째 = 두루째('힣') #0xD7A3
ㄱ째 = 두루째('ㄱ') #0x3131
ㅣ째 = 두루째('ㅣ') #0x3163
def 쪼개풀라(덩어리글씨):
몇째 = 두루째(덩어리글씨)
ㅊ = ((몇째 - 가째) // 28) // 21
ㄱ = ((몇째 - 가째) // 28) % 21
ㄲ = (몇째 - 가째) % 28
return 닿홀소리들[첫소리들[ㅊ]], 닿홀소리들[가운뎃소리들[ㄱ]], 닿홀소리들[끝소리들[ㄲ]]
def 어귀탐():
if 길이(줄넘김) <= 1:
박으라(귀띔)
나가라()
줄넘김서받았다 = 거짓
if 줄넘김[1] == 'ㅇ':
with 열라(줄넘김[2]) as 아롬:
밑글 = 아롬.read()
elif 줄넘김[1] == 'ㄸ':
밑글 = 대중들이.read()
else:
밑글 = 줄넘김[1]
줄넘김서받았다 = 참
for 글씨 in 밑글:
글씨두루째 = 두루째(글씨)
if 가째 <= 글씨두루째 and 글씨두루째 <= 힣째:
박으라(''.join(쪼개풀라(글씨)), end='')
elif ㄱ째 <= 글씨두루째 and 글씨두루째 <= ㅣ째:
박으라(닿홀소리들[글씨], end='')
else:
박으라(글씨, end='')
if 줄넘김서받았다:
박으라()
if __이름__ == "__main__":
어귀탐()