숙제 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 |