PS
2941. 크로아티아 알파벳
tose33
2021. 4. 6. 18:55
2941번: 크로아티아 알파벳
예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=
www.acmicpc.net
다시 푼 문제.
#include <iostream>
#include <vector>
using namespace std;
int main() {
string s;
int cnt = 0;
cin >> s;
// 유일한 세글자인 "dz=" 는 제외
vector<string> v = {"c=", "c-", "d-", "lj", "nj", "s=", "z="};
// looping string s
for(int i = 0; i < s.length(); i++) {
// 유일한 세글자인 "dz="는 따로 계산.
if(s[i] == 'd' && s[i+1] == 'z' && s[i+2] == '=') {
cnt++;
i += 2;
continue;
}
// looping vector v
bool trig = false;
for(int j = 0; j < v.size(); j++) {
if(s[i] == v[j][0] && s[i+1] == v[j][1]) {
cnt++;
i++;
trig = true;
break;
}
}
if(!trig) cnt++; // vector에 해당 글자 없으면 한글자로 계산
}
cout << cnt << endl;
}
string형 vector에 보기에 있는 글자들 넣어놓고, 루프 돌면서 같은 글자가 있는지 확인.
유일한 3글자 문자인 "dz=" 는 따로 처리.