티스토리 뷰

#include <stdio.h>

#include <string.h>

#define MAX_STRING 70


void strCount(char*s)

{


typedef struct{

char t;

int d;

}arra;


arra Array[52];


int length = strlen(s);

int start = 0;

int j = 1; 

int i = 1;


for ( i = 0; i < length; i++)

Array[i].d = 0; // 몇 개 인지 0 으로 초기화. 중복되는 글자가 없다면 length까지 가야하므로.

Array[0].t = s[0];


i = 1;

int m = 1; // 0 번째 값을 넣어줬으니 i =1 , m = 1 부터..

while (s[m] != '\0')

for (j = 0; j <= i - 1;)

{

if (Array[j].t != s[m])

{

if (j == (i - 1)) // 0번째 부터 i-1 번째 까지 모두 같지 않을경우 통과.

{

Array[i++].t = s[m++];

break;

}

j++;

}

else

{

m++;

break;

}

}

// 마지막 글자가 나올 때 까지 while문을 돌고, 현재까지 저장한 글자가 나오지 않았을 경우에만 새로이 저장. (i번째 글자라면 0부터 i -1 까지 모두 검사해야함.//


for (j = 0; j < i; j++) // 글자 수 세기

for (int k = start; k < length; k++)

if (Array[j].t == s[k])

Array[j].d++;


for (int j = 0; j < i; j++) // 출력

printf("%c : %d 개\n", Array[j].t, Array[j].d);

return;

}


int main(void)

{

char s[MAX_STRING];

int start, length;

scanf("%s", &s); printf("%s\n", s);

strCount(s);

return 0;

}

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함