백준 2941 크로아티아 알파벳 c++

Kkackit·2022년 10월 3일
0

Beakjoon

목록 보기
32/33

https://www.acmicpc.net/problem/2941

알고리즘 이라기보단
구현 + c++ 라이브러리 연습 하는 느낌의 문제.
배열의 길이는 length로 구하자.
string는 size!

아 그리고
strcmp는 char기반 문자열의 비교 함수다.
string을 비교할땐 compare을 쓰자.
그냥 ==도 되는 듯?

#include
#include

using namespace std;

int main()
{
string croatiaAlphabet[8] =
{"c=", "dz=", "s=", "z=" , "c-" ,"d-" ,"lj" ,"nj"};

string Text;
cin>>Text;
int result = 0;
int textSize = Text.length();
int croatiaSize = 8;

for(int i = 0; i<textSize; i++)
{
    for(int j = 0; j<croatiaSize; j++)
    {
        if(i-1+croatiaAlphabet[j].size() <= Text.size())
        { 
            //cout<<croatiaAlphabet[j]<<" : "<< Text.substr(i,croatiaAlphabet[j].size()) <<endl;
            int temp = croatiaAlphabet[j].compare(Text.substr(i,croatiaAlphabet[j].size()));
            if(temp == 0)
            {
                i+=croatiaAlphabet[j].size()-1;
                break;
            }
        }
    }
    result++;
}

cout<<result<<endl;

}

0개의 댓글