[programmers]level 2-右かっこ
4558 ワード
👩🏻💻 質問する
👩🏻💻 正しいコード
import java.util.*;
class Solution {
boolean solution(String s) {
boolean answer = true;
Stack<Character> stack = new Stack<>();
for (int i=0; i<s.length(); i++){
char c = s.charAt(i);
if (c=='(') stack.push(c);
else{
if (stack.empty()) answer = false;
else stack.pop();
}
}
if (!stack.empty()) answer = false;
return answer;
}
}
学校でjavaの授業中に課題として出てくる問題と似ているので、その時と一緒にスタックを使って解決します.左カッコの場合はpush、右カッコの場合はpop、popを使用する要素がない場合は誤ったカッコを使用します.また、すべてのpush popが終了した後もstackに要素があるにもかかわらず、この2つの要素が一致しないため、これは誤った括弧です.
Reference
この問題について([programmers]level 2-右かっこ), 我々は、より多くの情報をここで見つけました https://velog.io/@dazzlynn/Programmers-level-2-올바른-괄호テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol