[ baekjoon ] 2941번 - 크로아티아 알파벳
2023. 5. 14. 17:01ㆍbaekjoon
반응형
https://www.acmicpc.net/problem/2941
2941번: 크로아티아 알파벳
예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=
www.acmicpc.net
#include <stdio.h>
#include <string.h>
void swap(int loop, char * ptr);
int main()
{
char cro[8][4] = {
"c=",
"c-",
"dz=",
"d-",
"lj",
"nj",
"s=",
"z="
};
char word[101];
int num = 0;
scanf("%s", word);
char* ptr = NULL;
for (int i = 0; i < 8; i++)
{
ptr = strstr(word, cro[i]);
while (ptr != 0)
{
ptr = strstr(word, cro[i]);
if (i != 2 && ptr != 0)
{
swap(2, ptr);
num++;
}
else if (i == 2 && ptr != 0)
{
swap(3, ptr);
num++;
}
}
}
for (int i = 0; i < strlen(word); i++)
{
if (word[i] != '!')
{
num++;
}
}
printf("%d", num);
return 0;
}
void swap(int loop, char * ptr)
{
for (int i = 0; i < loop; i++)
{
*(ptr + i) = '!';
}
}
cro 이중배열에 크로아티아 문자열과 대체되는 문자열을 담아둔다.
그리고 strstr함수를 통해 입력받은 단어에 크로아티아 문자열이 있다면
swap함수에서 !로 치환하고 num++을 한다.
그리고 반복문을 다 빠져나오고 !가 아닌 문자의 수만 더해주면 된다.
반응형
'baekjoon' 카테고리의 다른 글
[ baekjoon ] 25206번 - 너의 평점은 (2) | 2023.05.23 |
---|---|
[ baekjoon ] 1316번 - 그룹 단어 체커 (8) | 2023.05.15 |
[ baekjoon ] 27951번 - 옷걸이 (3) | 2023.05.13 |