---
# System prepended metadata

title: Untitled

---

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


# 入力と出力の例
() => True
)( => False # 閉カッコが先に来てしまっている
( => False
) => False
()() => True
(()) => True
(()() => False
)))) => false

```

```:ruby
# () => true
# )( => false
# ()() => true
def checkBraces(input)
    if input[0] == ")"
        return false
    end
    
    data = input.split("").map.with_index do |char, i|
        char == "(" ? i : nil
    end.compact
    
    close_exists = data.all? do |index|
        rest_chars = input[(index + 1)..-1]
        rest_chars.include? ")"
    end
    
    close_count = input.count do |char|
      char == ")"
    end
    
    is_same_count = data.length == close_count

    return close_exists && is_same_count;
end


