---
# System prepended metadata

title: Untitled

---

```
開カッコと閉カッコからなる文字列が与えられる。
開カッコと閉カッコがきちんと対応している場合にはTrueを、それ以外の場合にはFalseを返してください。
# 入力と出力の例
() => True
)( => False # 閉カッコが先に来てしまっている
( => False
()() => True
(()) => True
(())) => False
```

```typescript=
function checkBraces(input: string): boolean {
    const chars = input.split();
    let stack = 0;
    for(let i = 0; i < chars.length; i++) {
        switch (chars[i]) {
            case '(':
                stack += 1;
                break;
            case ')':
                if (stack === 0) {
                    return false; // とじかっこの方が多い
                }
                stack -= 1;
                break;
            default:
                throw new Error('かっこ以外がありました')
        }
    }
    return stack === 0;
}
```