크로아티아 알파벳 성공출처다국어
한국어
시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초 | 128 MB | 67598 | 29690 | 25643 | 45.260% |
문제
예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.
크로아티아 알파벳변경
č | c= |
ć | c- |
dž | dz= |
đ | d- |
lj | lj |
nj | nj |
š | s= |
ž | z= |
예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.
dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다.
입력
첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.
단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다.
출력
입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.
예제 입력 1 복사
ljes=njak
예제 출력 1 복사
6
예제 입력 2 복사
ddz=z=
예제 출력 2 복사
3
예제 입력 3 복사
nljj
예제 출력 3 복사
3
예제 입력 4 복사
c=c=
예제 출력 4 복사
2
예제 입력 5 복사
dz=ak
예제 출력 5 복사
3
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
191
192
193
194
195
|
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import kotlin.math.sqrt
val br = BufferedReader(InputStreamReader(System.`in`))
fun main()=with(br){
val bw = BufferedWriter(OutputStreamWriter(System.out))
val str = readLine()
var check_c = false
var check_d = false
var check_z = false
var check_l = false
var check_n = false
var check_s = false
var key = false
var count= 0
var len = str.length
for(w in str){
if(w == 'z'){
check_z = true
check_c = false
check_l = false
check_n = false
check_s = false
}
if(w == 'd'){
check_d = true
check_c = false
check_z = false
check_l = false
check_n = false
check_s = false
continue
}
if(w == 'l'){
check_l = true
check_c = false
check_d = false
check_z = false
check_n = false
check_s = false
continue
}
if(w == 'n'){
check_n = true
check_c = false
check_d = false
check_z = false
check_l = false
check_s = false
continue
}
if(w == 's'){
check_s = true
check_c = false
check_d = false
check_z = false
check_l = false
check_n = false
continue
}
if(w=='c'){
check_c = true
check_d = false
check_z = false
check_l = false
check_n = false
check_s = false
continue
}
if(check_d){
if(w=='-'){
check_d = false
//println("đ")
len--
continue
}
else if(w=='z'){
key = true
check_d = false
check_z = true
continue
}
else{
check_d = false
continue
}
}
if(check_z){
if(w=='='){
if(key) {
//println("dž")
len-=2
check_z = false
continue
}
else{
//println("key $key")
// println("ž")
len--
check_z = false
continue
}
}
else if(w=='z'){
key = false
continue
}
else{
key = false
check_z = false
continue
}
}
if(check_l){
if(w=='j'){
check_l = false
//println("lj")
len--
continue
}
else{
check_l = false
continue
}
}
if(check_n){
if(w=='j'){
check_n = false
//println("nj")
len--
continue
}
else{
check_n = false
continue
}
}
if(check_s){
if(w=='='){
check_s = false
// println("š")
len--
continue
}
else{
check_s = false
continue
}
}
if(check_c){
if(w=='='){
check_c = false
//println("č")
len--
continue
}
else if(w=='-'){
check_c = false
// println("ć")
len--
continue
}
else{
check_c = false
continue
}
}
}
bw.write("$len")
bw.flush()
bw.close()
}
|
cs |
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
|
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import kotlin.math.sqrt
val br = BufferedReader(InputStreamReader(System.`in`))
fun main()=with(br){
val bw = BufferedWriter(OutputStreamWriter(System.out))
val str = readLine().replace("c=","č")
.replace("c-","_")
.replace("dz=","_")
.replace("d-","_")
.replace("lj","_")
.replace("nj","_")
.replace("s=","_")
.replace("z=","_")
val len = str.length
bw.write("$len")
bw.flush()
bw.close()
}
|
cs |
어이가 없네.. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
'알고리즘 공부 > 구현' 카테고리의 다른 글
백준 12100번 2048(easy) with Kotlin (0) | 2021.09.14 |
---|---|
백준 1475번 with Kotlin (0) | 2021.08.12 |