본문 바로가기
개인 공부/코딩테스트

[C++][백준 2941][문자열 처리] 크로아티아 알파벳 :: seoftware

by seowit 2020. 2. 16.

 문제 

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

 

2941번: 크로아티아 알파벳

문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고,

www.acmicpc.net

 소스 

#include <string>
#include <vector>
#include <iostream>

using namespace std;

int main(void) {
	int answer = 0;
	string input;
	cin >> input;

	for (int i = 0; i < input.size(); i++) {
		char temp = input[i];
		if (input[i] == 'c') {
			if (input[i + 1] == '=' || input[i + 1] == '=') {
				i++;
			}
		}
		else if (input[i] == 'd') {
			if (input[i + 1] == 'z' && input[i + 2] == '=') i += 2;
			if (input[i + 1] == '-') i++;
		}
		else if (input[i] == 'l' && input[i + 1] == 'j') i++;
		else if (input[i] == 'n' && input[i + 1] == 'j') i++;
		else if (input[i] == 's' || input[i] == 'z') {
			if (input[i + 1] == '=') i++;
		}
		answer++;
	}

	cout << answer;
	return 0;
}

댓글