티스토리 뷰

728x90
반응형

백준 온라인 저지(BOJ) 2941번 크로아티아 알파벳

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

 

2941번: 크로아티아 알파벳

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

www.acmicpc.net

* 사용언어 : C언어, C++

 

1. 문제

아래와 같은 형식으로 입력된 크로아티아 알파벳 단어가 주어질 때,

크로아티아 알파벳 개수가 몇 개인지 출력

 

2. 풀이

문자 형식을 구조화해서 이쁘게 풀어보고 싶었는데,

가성비가 안 나와서 그냥 스파게티식 코드로 적당히 풀었습니다.

 

if 문 조건만 잘 짜면 되니 아래 코드로 풀이를 대체하겠습니다.

 

3. 코드

#include <stdio.h>

int main() {
	char a[101];
	scanf("%s", &a);

	int cnt = 0;
	int i = 0;

	while (a[i]) {
		if (a[i] == '=' || a[i] == '-') {
			++i;
		}
		else if ((a[i] == 'n' || a[i] == 'l') && a[i + 1] == 'j') {
			++cnt;
			i += 2;
		}
		else if (a[i] == 'd' && a[i + 1] == 'z' && a[i + 2] == '=') {
			++cnt;
			i += 3;
		}
		else {
			++cnt;
			++i;
		}
	}

	printf("%d\n", cnt);
	return 0;
}

 

 

728x90
반응형
댓글