프로그래밍/BOJ
백준 알고리즘 [2941번] (C++) 크로아티아 알파벳
coty
2019. 7. 29. 23:48
Code
#include <iostream>
using namespace std;
#define MAX 100
int main() {
ios::sync_with_stdio(NULL);
cin.tellg();
char p[MAX] = { 0, };
int count = 0;
cin >> p;
for (int i = 0; p[i]; i++) {
if (p[i] == 'c') {
if (p[i + 1] == '=' || p[i + 1] == '-')
i++;
}
else if (p[i] == 'd') {
if (p[i + 1] == '-')
i++;
else if (p[i + 1] == 'z' && p[i + 2] == '=') {
i += 2;
}
}
else if (p[i] == 'l' || p[i] == 'n') {
if (p[i + 1] == 'j')
i++;
}
else if (p[i] == 's' || p[i] == 'z') {
if (p[i + 1] == '=')
i++;
}
count++;
} // for
cout << count;
}
for문 마지막에서 count값만 증가시켜주면 되는데 쓸데없이 각 else if문마다 count++; continue;를 하느라 시간낭비ㅇㅇ
(어차피 각 우크라이나 알파벳마다 count값은 1씩증가하고 중요한것은 i가 결정짓는다.) 즉, i(우크라이나 알파벳이 연속됐느냐 안됐느냐에 따라 달라지는 값)가 문자열길이내에서 몇등분(알파벳 개수) 내느냐를 결정하는문제