백준 2941번: 크로아티아 알파벳 [C++]

Been·2023년 11월 26일
0

백준

목록 보기
19/23
#include <iostream>
using namespace std;

int main()
{
	char word[101];
	cin >> word;
	
	int length = 0;
	
	int i = 0;
	while (word[i] != '\0')
	{
		length++;
		if (word[i] == 'c')
		{
			if (word[i + 1] == '=' or word[i + 1] == '-')
				i++;
		}

		else if (word[i] == 'd')
		{
			if (word[i + 1] == 'z' and word[i + 2] == '=')
				i += 2;
			else if (word[i + 1] == '-')
				i++;
		}

		else if (word[i] == 'l')
		{
			if (word[i + 1] == 'j')
				i++;
		}

		else if (word[i] == 'n')
		{
			if (word[i + 1] == 'j')
				i++;
		}


		else if (word[i] == 's')
		{
			if (word[i + 1] == '=')
				i++;
		}

		else if (word[i] == 'z')
		{
			if (word[i + 1] == '=')
				i++;
		}

		i++;
	}
	cout << length;
}

느낀점

처음 제출했을땐 i++length++로 썼었다.
그런데 이 방식은 'dz='와 'z='가 동시에 나왔을 때 중복된 값을 빼주지 않으면 틀릴 위험이 있었다.
또한 i++는 문자열을 한번에 넘어가 중복된 값을 만날 일이 없기때문에 선택하였다.

profile
콧콧코코콧코콧ㅅ

0개의 댓글