Parenthesis Checker [ Snapdel – Amazon ]

Problem: Check the balance of parenthesis sequence, the string contains (),{} and [].

Link

#include <stdio.h>
#include <string.h>
int main() {
	//code
	char s[105];
	char arr[105];
	int balance;
	int t,idx,i;
	scanf("%d",&t);
	while(t--)
	{
	    scanf("%s",s);
	    idx=0;
	    balance=1;
	    for(i=0;i<strlen(s);i++)
	    {
	        if(s[i]=='(' || s[i]=='{' || s[i]=='[')
	        arr[idx++]=s[i];
	        else if(s[i]==')')
	        {
	            if(arr[idx-1]=='(')
	            {
	                idx--;
	            }
	            else
	            balance=0;
	        }
	        else if(s[i]=='}')
	        {
	            if(arr[idx-1]=='{')
	            {
	                idx--;
	            }
	            else
	            balance=0;
	        }
	        else if(s[i]==']')
	        {
	            if(arr[idx-1]=='[')
	            {
	                idx--;
	            }
	            else
	            balance=0;
	        }
	        
	        if(balance==0)
	        break;
	    }
	    if(balance==0)
	    printf("not balanced\n");
	    else
	    printf("balanced\n");
	}
	return 0;
}

 

Comments are closed.