Practice #3
Coddyの「スタック - データ構造シリーズ #1」コースのレッスン 11/13。
次のチャレンジは、スタックを使用するように設計されています。
Stackデータ構造(文字を格納する)はすでに用意されています。ぜひ活用してください!
チャレンジ
簡単丸括弧、角括弧、波括弧の文字列を受け取り、その文字列がバランスが取れている場合は true を、そうでない場合は false を返す関数 isBalancedParentheses を作成してください。
つまり、すべての開始記号には、対応する終了記号がなければなりません。
この問題を解決するために、提供されている Stack を使用してください!
例:
入力: "({[]})" → 出力: true
入力: "({[)})]" → 出力: false
自分で試してみよう
#include <stdio.h>
#include <string.h>
#include "solution.h"
int main() {
char s[1000];
if (fgets(s, sizeof(s), stdin) == NULL) {
s[0] = '\0';
}
s[strcspn(s, "\r\n")] = '\0';
printf("%s\n", isBalancedParentheses(s) ? "true" : "false");
return 0;
}