[programmers]level 2-右かっこ


👩🏻‍💻 質問する



👩🏻‍💻 正しいコード

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つの要素が一致しないため、これは誤った括弧です.