주어진 문자열에서 연속 3개의 문자가 IOI 이거나 KOI인 문자열이 각각 몇 개 있는지 찾는 프로그램을 작성하라.
문자열은 알파벳의 대문자로만 이루어진다.
예를 들어 "KOIOIOI"라는 문자열은 KOI 1개 , IOI 2개가 포함되어있다.
입력형식
입력은 한 줄이며 10,000자 이하의 알파벳 대문자로 구성된다.
출력형식
출력은 2줄이며, 첫 번째 줄에는 KOI의 개수, 두 번째 줄에는 IOI의 개수를 각각 출력하라.
#include <stdio.h>
int main(void)
{
int koi = 0;
int ioi = 0;
char p[10000];
scanf("%s", p);
for(int i=0; i<sizeof(p); i++)
{
if (*(p + i) == 'O')
{
if (*(p + i - 1) == 'K' && *(p + i + 1) == 'I')
{
koi++;
}
if (*(p + i - 1) == 'I' && *(p + i + 1) == 'I')
{
ioi++;
}
}
}
printf("%d\n%d", koi, ioi);
return 0;
}
반응형