본문으로 바로가기
728x90
반응형

문자열에서 괄호의 짝이 맞는지 확인하시오.

 

ex) {test},{test2},{test3}

 

더보기
#include <stdio.h>
#include <string.h>

/* Balanced인지 확인하고자 하는 문자열 */
#define pstr "{test},{test2},{test3}"

void cal_bal_string(char * str);

int main(void)
{
    printf("pstr : %s \n", pstr);
    
    cal_bal_string(buffer);
    
    return 0;
}

void cal_bal_string(char * str)
{
	int countR = 0, countL = 0, count = 0;
    
    for(int i=0;i<strlen(str);i++)
    {
    	/* { 를 체크하여 count를 증가시킴 */
    	if(str[i] == '{') countL++;
        /* } 를 체크하여 count를 증가시킴 */
        else if(str[i] == '}') countR++;
        
        /* countR,countL이 0이 아니면서 값이 같을 때를 확인함. */
        if((countR == countL) && ((countR !=0 )||(countL != 0)))
        {
        	count++;
            countR = 0;
        }	countL = 0;
    }
    printf("result(cnt) : %s(%d) \n", count==0?"Unbalanced":"Balanced", count);
}
반응형

'Computer Science > Algorithm Study' 카테고리의 다른 글

문제 1  (0) 2018.02.19