개발자/문제풀이 (C언어)
[백준/BOJ] 2941번 크로아티아 알파벳 (C/C++)
devBB
2022. 6. 15. 23:10
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
반응형