728x90
https://www.acmicpc.net/problem/2941
문제해석
입력받은 단어의 알파벳을 순회하며 수를 세준 뒤 한글자로 취급되는 알파벳을 조건문을 통해 판단하여 count에서 제외하여 알파벳 수를 출력합니다.
- '='이 포함되어 있는 알파벳 : c=, s=, dz=
- '-'이 포함되어 있는 알파벳 : c-, d-
- 'j'가 포함되어 있는 알파벳 : lj, nj
소스코드 & 문제풀이
#include <stdio.h>
#include <string.h>
int main() {
char word[100];
int i, count = 0;
scanf("%s", &word); // 단어를 입력받습니다
// 입력된 문자의 길이만큼 실행한만큼 알파벳을 한 글자씩 셉니다
for (i = 0; i < strlen(word); i++) {
count++;
// 크로아티아 알파벳인 š(s=),ž(z=),dž(dz=)이면 하나의 알파벳으로 취급하여 변수 count에서 빼줍니다.
if (word[i] == '=') {
if (word[i - 1] == 'c' || word[i - 1] == 's') {
count--;
}
if (word[i - 1] == 'z') {
count--;
if (word[i - 2] == 'd') {
count--;
}
}
}
// 마찬가지로 ć(c-),đ(d-)이면 하나의 알파벳으로 취급하여 변수 count에서 빼줍니다.
if (word[i] == '-') {
if (word[i - 1] == 'c' || word[i - 1] == 'd') {
count--;
}
}
//lj와 nj 하나의 알파벳으로 count에서 생략합니다
if (word[i] == 'j') {
if (word[i - 1] == 'l' || word[i - 1] == 'n') {
count--;
}
}
}
printf("%d", count); // 크로아티아 알파벳수를 출력합니다
return 0;
}
예제 입출력 결과
728x90
'백준(BaekJoon)' 카테고리의 다른 글
[BaekJoon/C] No.18870 : 좌표 압축 (0) | 2024.08.14 |
---|---|
[BaekJoon/C] No.10814 : 나이순 정렬 (0) | 2024.08.14 |
[BaekJoon/C] No.1157 : 단어 공부 (0) | 2024.08.06 |
[BaekJoon/C] No.24723 : 녹색거탑 (0) | 2024.07.30 |
[BaekJoon/C] No.15439 : 베라의 패션 (0) | 2024.07.30 |