Baekjoon/단계별로 풀어보기

[BOJ/백준] 2941번 크로아티아 알파벳 C++ 문제 풀이

728x90

단계별로 풀어보기 - 문자열 - [9단계] 2941번

문제

문제 링크 : www.acmicpc.net/problem/2941

 

2941번: 크로아티아 알파벳

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

www.acmicpc.net

입력 복사 : 

> 예제 입력 1

ljes=njak

> 예제 입력 2

ddz=z=

> 예제 입력 3

nljj

> 예제 입력 4

c=c=

 

CODE

#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int main() {
	string str;
	cin >> str;
	int num = 0;

	int i = 0;
	while (i < str.length()) {
		if (str[i] == 'c') {
			if (str[i + 1] == '=')
				i++;
			else if (str[i + 1] == '-')
				i++;
		}
		else if (str[i] == 'd') {
			if (str[i + 1] == '-')
				i++;
			else if (str[i + 1] == 'z'&&str[i + 2] == '=')
				i += 2;
		}
		else if (str[i] == 'l') {
			if (str[i + 1] == 'j') 
				i++;
		}
		else if (str[i] == 'n') {
			if (str[i + 1] == 'j')
				i++;
		}
		else if (str[i] == 's') {
			if (str[i + 1] == '=') 
				i++;
		}
		else if (str[i] == 'z') {
			if (str[i + 1] == '=')
				i++;
		}
		num++;
		i++;
	}
	printf("%d\n", num);
}

 

결과

728x90