문제2 풀이 (인덱스 출력 미완성)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
const int Head = 0;
const int Tail = 1;
int CheckHead = 1;
int CheckTail = 1;
int MaxHead = 1;
int MaxTail = 1;
int LIndex = 0;
int ArraySize = 8;
int CheckFunc(int * ary);
int main(void)
{
srand(time(NULL));
int *ary = (int*)malloc(sizeof(int) * ArraySize);
for (int i = 0; i < ArraySize; i++)
{
ary[i] = rand() % 2;
}
for (int i = 0; i < ArraySize; i++)
{
printf("%d ", ary[i]);
}
printf("\n%d", CheckFunc(ary));
/*for (int i = 0; i < ArraySize; i++)
{
if (ary[i] == Head)
{
ary[i] = Tail;
}
else if (ary[i] == Tail)
{
ary[i] = Head;
}
CheckFunc(ary);
}*/
free(ary);
return 0;
}
int CheckFunc(int * ary)
{
for (int i = 0; i < ArraySize; i++)
{
if (ary[i] == Head && ary[i + 1] == Head)
{
CheckHead += 1;
}
else
{
if (MaxHead < CheckHead)
{
MaxHead = CheckHead;
CheckHead = 1;
}
}
if (ary[i] == Tail && ary[i + 1] == Tail)
{
CheckTail += 1;
}
else
{
if (MaxTail < CheckTail)
{
MaxTail = CheckTail;
CheckTail = 1;
}
}
}
if (MaxHead > MaxTail)
{
printf("Head Return...\n");
return MaxHead;
}
else
{
printf("Tail Return...\n");
return MaxTail;
}
}