---
# System prepended metadata

title: Untitled

---

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

```typescript=
function checkBraces(input: string): boolean {
    const inputArray = input.split("") 
    let isBracketsValid = false;
    // 開カッコと閉カッコの数が同じで、isBracketClosed=trueの時に閉カッコがきたらfalse?
    let openBracketLength = 0;
    let closeBracketLength = 0;
    inputArray.map((item, index) => {
        if (item === '(') {
            openBracketLength += 1;
        }
        closeBracketLength += 1;
    })
    
    if (openBracketLength !== closeBracketLength) {
        isBracketsValid = false;
        return isBracketsValid
    }
    
    // 開カッコと閉カッコの数は同じ
    // 閉じてるかどうかを判定したい
    let isBracketsClosed = true;
    inputArray.map((item, index) => {
        
    }
    
    inputArray.map((item, index) => {
        if (isBracketsClosed) {
            if (item === ')') {
                isBracketsValid = false;
            }
        }
    })
    
    
    for(let i = 0; i<= inputArray.length; i++) {
        
        
        if (isBracketClosed) {
            if (inputArray[i] === ')') {
                return false
            }
        }
    }
    
    
    return true;
}
```