### 前提 - 課題にチャレンジしていただきます - 正解することが目的ではなく、何か課題があったときにどのように考えてどのようにチームメンバーとコミュニケーションを取りながら進める方なのか知ることが目的です - ぜひ脳内シェアをしていただきながら進めてください - 言語は何を使用しても大丈夫です --- ### 課題 開カッコと閉カッコからなる文字列が与えられます。 開カッコと閉カッコがきちんと対応しているかを判定してください。 「カッコが対応している」とは以下を満たすことを言います。 - 任意の開カッコに対して、それより後にペアになる閉カッコが存在すること - ペアになっていないカッコが存在しないこと ※ null がくる場合、開カッコと閉カッコ以外がくる場合、などエッジケースは考慮しなくて大丈夫です #### 入力と出力の例 ``` () => True )( => False ( => False ) => False ()() => True (()) => True ()) => False (()(())) => True (()))(=> False (()))((())=> False ``` ### 回答(言語は何を使用してもOK!) // input = "(()(()))" ```php= public function check_braces(string $input){ // [(]と[)]の数がイコールであること // ( と )の順番が正しいこと // $inputの文字列を1つずつに分解する $inputParts = [ "(", ")" ]; // 分解後()のペアになるようにする for($i = 0; count($inputParts); $i++) { // 初めの文字が")"の場合はfalse if($inputParts[$i] == ")" && $i = 0){ return false; } else if($inputPart == "("){ $Pare += $inputPart; } else if(){ } } <!-- foreach($inputParts as $inputPart) { if($inputPart == ")"){ } elseif($inputPart == "("){ } } --> // ( or )の余りがあるか判定(ある場合はfalse) if(){ return false; } return true; } def check_braces(input) return false; end ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up