問題
世界は絶妙なバランスの上に成り立っている.正と負,光と影,そして左括弧と 右括弧.君には,世界の天秤を監視するために,与えられた文字列の中で括弧が バランスしているかどうかを判定するプログラムを作ってほしい.
与えられる文字列は,丸括弧(“( )”)と角括弧(“[ ]”)の二種類の括弧を含むことがある. 文字列の中で括弧がバランスしているとは,以下が成り立つことである.
- すべての左丸括弧(“(”)には,対応する右丸括弧(“)”)がそれより後にある.
- すべての左角括弧(“[”)には,対応する右角括弧(“]”)がそれより後にある.
- すべての右括弧には,対応する左括弧がある.
- 括弧の対応は一対一でなくてはならず,単一の括弧が複数の括弧と対応す ることはない.
- すべての対応する左括弧と右括弧の組について,その間にある文字列の中で 括弧がバランスしている.
Input
入力は一行または複数の行で構成され,各行は一つのデータセットである. データセットは英文アルファベット,空白,丸括弧(“( )”)と 角括弧(“[ ]”)の二種類の括弧の列で,最後にピリオドがある文字列である. 一行の文字数は100文字以下と仮定してよい. 入力の終わりはピリオドだけからなる行で示されており, この行はデータセットではない.
Output
各データセットについて,括弧がバランスしていれば“yes”を, そうでなければ“no”をそれぞれ1行に出力しなさい. 出力には余分な文字を含んではならない.
Sample Input/Output
Sample Input
So when I die (the [first] I will see in (heaven) is a score list). [ first in ] ( first out ). Half Moon tonight (At least it is better than no Moon at all]. A rope may form )( a trail in a maze. Help( I[m being held prisoner in a fortune cookie factory)]. ([ (([( [ ] ) ( ) (( ))] )) ]). . .
Output for the Sample Input
yes yes no no no yes yes