Mistake in test case Question #230
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 45/100
- issue の種類
- ドキュメント
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- typescript
- 領域
- content
調査の方向性
リンク先のDevFAQページにある質問230を開き、記載されている有効なテストケースを、issueの括弧分析およびTypeScriptによる再現と比較してください。対応する開き括弧のない閉じ括弧を含む例が正しく表現されるように質問を更新し、そのうえで、表示されているテストケースと期待される結果に一貫性があることを確認してください。
索引モデルが issue の本文から書いたものです。
説明
There is a mistake in this question.

It is written that "{dklf(df(kl))d]{}" is a valid test case while it is not due to the not opened "[".
Please update the question.
The code I used to test the cases:
const sum = (arr: number[]): number => arr.reduce((acc, el) => acc+el, 0);
type OpeningBracket = "(" | "[" | "{";
type BracketStackMap = Record<OpeningBracket, number>;
const checkBrackets = (str: string) => {
const brackets = ["(",")", "[","]", "{","}"]; // "()[]{}".split("");
const filtered = str.split("").filter(character => brackets.includes(character));
const bracketsStack = new Map<BracketStackMap>([["(", 0], ["[", 0], ["{", 0]]);
for(let i=0; i<filtered.length; i++){
// could be simplified with closed/opening bracket key/value mapping
const key = filtered[i] === ")" ? "("
: filtered[i] === "]" ? "["
: filtered[i] === "}" ? "{"
: filtered[i];
const currentVal = bracketsStack.get(key);
// console.log({i, str: filtered[i], key})
switch(filtered[i]){
case "(":
case "[":
case "{":
bracketsStack.set(filtered[i], currentVal + 1);
break;
case ")":
case "]":
case "}":
bracketsStack.set(key, currentVal - 1);
break;
default: throw new Error(`Unhandled bracket: ${filtered[i]}`);
}
if(bracketsStack.get(key) < 0){
// console.log("negative", bracketsStack.get(key))
return false;
};
}
return (sum([...bracketsStack.values()]) === 0);
};
const tests = {
"{ac[bb]}": true,
"{dklf(df(kl))d]{}": true, //fails, should pass according to task description
"{[[[]]]}": true,
"{3234[fd": false,
"{df][d}": false
};
Object.entries(tests).forEach(([test, expected]) => {
const result = (checkBrackets(test) === expected) ? "✅" : "❌";
console.log(`${result} "${test}" `);
});
// results
"✅ '{ac[bb]}' "
"❌ '{dklf(df(kl))d]{}' "
"✅ '{[[[]]]}' "
"✅ '{3234[fd' "
"✅ '{df][d}' "
- 主要言語
- TypeScript
- スター
- 40
- フォーク
- 10
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
typeofweb-org/devfaq のほかの issue
-
typeofweb-org/devfaq#506 · 担当者 1 名 ·
-
typeofweb-org/devfaq#504 · 担当者 1 名 ·
-
typeofweb-org/devfaq#481 · 担当者 1 名 ·
-
typeofweb-org/devfaq#479 · 担当者 1 名 ·
-
typeofweb-org/devfaq#478 · 担当者 1 名 ·
typeofweb-org/devfaq の issue をすべて見る
似ている issue
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
Crush オープン
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md オープン
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
ElementsProject/cln-application#167 · コメント 1 件 · リアクション 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Quantco/pnpm-licenses#17 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100