BEAKJOON

백준(2941번 크로아티아 알파벳)풀이 C++

Shin_jisoo 2021. 1. 10. 18:48
728x90

www.acmicpc.net/problem/2941

 

2941번: 크로아티아 알파벳

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net

1) 주석 없는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>
#include <stack>
#include <sstream>
using namespace std;

int main() {
	string word;
	cin >> word;

	int count = 0;

	for (int i = 0;i < word.length();i++) {

		if (word[i] == 'c') {
			if (word[i + 1] == '=') {
				count += 1;
				i++;
			}
			else if (word[i + 1] == '-') {
				count += 1;
				i++;
			}
			else count += 1;
		}

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

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

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

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

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

		else count += 1;

	}

	cout << count;
}

2) 주석 있는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>
#include <stack>
#include <sstream>
using namespace std;

int main() {
	string word;
	cin >> word;

	int count = 0;

	for (int i = 0;i < word.length();i++) {

		if (word[i] == 'c') {
			if (word[i + 1] == '=') {
				count += 1; // c= 일때 count 1증가
				i++; // '='이 있는 자리는 넘어가기
			}
			else if (word[i + 1] == '-') {
				count += 1;
				i++;
			}
			else count += 1; // 아닌경우 +1 해주는것 필수
		}

		// 위와 같은 방법으로 케이스 넣어주기
		else if (word[i] == 'd') {
			if (word[i + 1] == 'z') {
				if (word[i + 2] == '=') {
					count += 1;
					i += 2;
				}
				else count += 1;
			}
			else if (word[i + 1] == '-') {
				count += 1;
				i++;
			}
			else count += 1;
		}

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

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

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

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

		else count += 1;

	}

	cout << count;
}