PS/BOJ
[백준] 2941.cpp : 크로아티아 알파벳
bconfiden2
2020. 6. 11. 09:08
2941번: 크로아티아 알파벳
문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s=
www.acmicpc.net
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string s;
// 크로아티아 문자
string w[8] = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
cin >> s;
// 각 크로아티아 문자들을 다 비교해줌
for(int i = 0 ; i < 8 ; i++)
{
// 문자열에서 아무것도 안나올때까지
while(s.find(w[i]) != string::npos)
{
// 해당 크로아티아 문자를 찾아서 아무 관련 없는 k 라는 문자로 치환
s.replace(s.find(w[i]), w[i].size(), "k");
}
}
cout << s.size() << endl;
}
[Try]
1. 입력받은 문자열을 다 돌면서 각 알파벳들을 한글자로 바꿔준다.
[Point]
1. 굳이 string 사용하지 않고 - 랑 = 를 사용하여 비교해주는게 간단해 보인다.
[More]
1. 정규표현식 regex