반응형
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 | #include <iostream> #include <string> using namespace std; int main() { string s; cin >> s; int result = 0; for (int i = 0; i < s.length(); i++) { switch (s[i]) { case 'c': if (i + 1 < s.length() && s[i + 1] == '-' || s[i + 1] == '=') { result++; i++; } else result++; break; case 'd': if (i + 1 < s.length() && i + 2 < s.length() && s[i + 1] == 'z' && s[i + 2] == '=') { result++; i += 2; } else if (i + 1 < s.length() && s[i + 1] == '-') { result++; i++; } else result++; break; case 'l': case 'n': if (i + 1 < s.length() && s[i + 1] == 'j') { result++; i++; } else { result++; } break; case 's': case 'z': if (i + 1 < s.length() && s[i + 1] == '=') { result++; i++; } else result++; break; default: result++; } } cout << result << '\n'; return 0; } | cs |
간단하게 크로아티아 알파벳으로 변형이 가능한 것들에 대해 switch case문을 짜준다. 그 이후 크로아티아 알파벳으로 변형이 됐으면 그 문자열들의 길이만큼 인덱스를 증가시켜준다.
마지막으로 그것에 해당하는 결과가 아닌 경우 모두 결과값을 1만큼 증가시켜주면 완성된다.
'알고리즘 > 백준' 카테고리의 다른 글
2292번 벌집 (0) | 2018.10.10 |
---|---|
1316번 그룹 단어 체커 (0) | 2018.10.09 |
5622번 다이얼 (0) | 2018.10.09 |
10809번 알파벳 찾기 (0) | 2018.10.09 |
10039번 평균 점수 (0) | 2018.10.09 |