C/Academy

문제2 풀이 (인덱스 출력 미완성)

갈릭새우칩 2019. 7. 1. 21:56

#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;

}

}