---
# System prepended metadata

title: Untitled

---

### 前提
- 課題にチャレンジしていただきます
- 正解することが目的ではなく、何か課題があったときにどのように考えてどのようにチームメンバーとコミュニケーションを取りながら進める方なのか知ることが目的です
- ぜひ脳内シェアをしていただきながら進めてください
* 言語は何を使用しても大丈夫です``
---

### 課題
開カッコと閉カッコからなる文字列が与えられます。
開カッコと閉カッコがきちんと対応しているかを判定してください。
「カッコが対応している」とは以下を満たすことを言います。
- 任意の開カッコに対して、それより後にペアになる閉カッコが存在すること
- ペアになっていないカッコが存在しないこと

#### 入力と出力の例
```
() => True
)( => False
( => False
) => False
()() => True
(()) => True
())　=> False
(()(())) => True
(()))(=> False
(()))((())=> False
```


### 回答（言語は何を使用してもOK！）

```php=
public check_braces($input)
{
    $startKakkoNum = 0;
    $endKakkoNum   = 0;
    $inputLength   = strlen($input);

    <!-- 文字列が奇数の場合falseを返す -->
　　 if (strlen($input) % 2 == 1) {
        return false;
    }

    <!-- 文字列の初めが閉カッコ)の場合falseを返す　-->
    if ($input[0] == ")") {
        return false;
    }

    <!-- 開カッコの数を閉括弧が超えた時点でfalseを返す　-->
    for ($i = 0; $i < $inputLength; $i++) {
        if (input[$i] == "(") {
            $startKakkoNum++;                   
        } else {
            $endKakkoNum++;      
        }
        if ($startKakkoNum < $endKakkoNum) {
            return false;
        }
    }

    return true;
}
```
