본문 바로가기

코딩테스트

[C++] 괄호

숙제 4 (괄호)

C/C++같은 프로그래밍 언어에서 수식표현하는데 사용되는 괄호로는 소괄호주로 쓰인다. 식에서 소괄호를 올바르게 사용하기 위해서는 다음과 같은 규칙을 따라야한다.

1. 열린괄호문자(닫힌괄호문자)수가 같아야한다.

2. 열린괄호문자가 먼저 나온 뒤에 괄호와쌍을이루는닫힌괄호문자가나타나야한다.

3. 괄호열린괄호문자와닫힌괄호문자사이에다른괄호있으며, 또한다음에다른괄호쌍이있다.

 

괄호를나타내는문자로만만들어진스트링이주어졌을, 스트링이위와같은수식에사용하는괄호사용규칙을만족하는스트링인지를판별하는프로그램을작성하시오

 

#include<iostream>
#include<string>
#include<cstdlib>
#include<algorithm>
using namespace std;


int main(){
	string s;
	cin>>s;
	int tmp=0x00;
	int out=1;
	int cs=count(s.begin(), s.end(), 72);
	int ce=count(s.begin(),s.end(),73);
	if(cs!=ce) out=0;
	else{
		for(int i=0;i<s.size();i++){
			if(s[i]=='(') tmp++;
			else if(s[i]==')') {
				tmp--;
				if(tmp<0){
					out=0;
					break;
				}
			}
			


		}
	}
	 cout<<out<<endl;

	return 0;
}

 

'코딩테스트' 카테고리의 다른 글

[C++] 체크썸  (0) 2021.07.07
[C++] MultiMax  (0) 2021.06.29
[C++] 방의 크기 구하기  (0) 2021.06.29
[C++] 절단 대각선 (Broken Diagonal)  (0) 2021.06.29
[C++] 1차원라이프(Life)게임  (0) 2021.06.29