1452C - Two Brackets - CodeForces Solution


greedy *800

Please click on ads to support us..

Python Code:

for _ in range(int(input())):
	s=input()
	ro=0
	so=0
	c=0
	for i in range(len(s)):
		if s[i]=='(':
			ro+=1
		elif s[i]=='[':
			so+=1
		elif s[i]==")" and ro>0:
			ro-=1
			c+=1
		elif s[i]==']' and so>0:
			so-=1
			c+=1
	print(c)

C++ Code:

#include <bits/stdc++.h>
using namespace std;
 
int _count(string s, char left, char right)
{
    int balance(0), count(0);
    for (auto c : s)
    {
        if (c == right)
        {
            if (balance > 0)
            {
                --balance;
                ++count;
            }
        }
        else if (c == left)
            ++balance;
    }
    return count;
}

void solve()
{
    string s;
    cin >> s;
    cout << _count(s, '(', ')') + _count(s, '[', ']') << endl;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int t = 1;
    cin >> t;
    while (t--)
        solve();
    return 0;
}
 
//////////////////////////////////////////
//                                      //
//      Implemented by brownfox2k6      //
//                                      //
//////////////////////////////////////////


Comments

Submit
0 Comments
More Questions

1455B - Jumps
1225C - p-binary
1525D - Armchairs
1257A - Two Rival Students
1415A - Prison Break
1271A - Suits
259B - Little Elephant and Magic Square
1389A - LCM Problem
778A - String Game
1382A - Common Subsequence
1512D - Corrupted Array
667B - Coat of Anticubism
284B - Cows and Poker Game
1666D - Deletive Editing
1433D - Districts Connection
2B - The least round way
1324A - Yet Another Tetris Problem
246B - Increase and Decrease
22E - Scheme
1566A - Median Maximization
1278A - Shuffle Hashing
1666F - Fancy Stack
1354A - Alarm Clock
1543B - Customising the Track
1337A - Ichihime and Triangle
1366A - Shovels and Swords
919A - Supermarket
630C - Lucky Numbers
1208B - Uniqueness
1384A - Common Prefixes