LeetCode 문제 풀이

[LeetCode] 20번 문제를 풀어보았다. (ft. java)

pantrom 2022. 3. 13. 11:16

2022년 03월 13일 일요일 - 왜 벌써 일요일?


오늘 올려볼 문제는 20번 Valid Parentheses 이라는 문제이다.


사진을 클릭하면 해당 문제로 이동합니다.

leetcode 문제 사진

오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.

오늘은 문제가 너무 쉽다


입력


사진에서도 볼 수 있듯이 String 하나가 입력으로 들어온다.



풀이 및 코드


주어진 괄호들이 valid 한지 판단하여 리턴하는 문제다.


오늘은 처음부터 정답을 생각해냈다.

괄호 문제들은 스택을 써서 푸는게 공식같은 것이므로 스택을 활용하여 이 문제를 풀었다.


이제 코드를 봐보자!


풀이코드

class Solution {
    public boolean isValid(String input) {
        Stack<Character> s = new Stack<Character>();

        for(int i = 0; i < input.length(); i++)
        {
            char now = input.charAt(i);
            if(now == '(')
            {
                s.push(++now);
            }
            else if(now == '{' || now == '[')
            {
                ++now;
                s.push(++now);
            }
            else
            {
                if(s.isEmpty())
                    return false;
                if(s.peek() != now)
                    return false;
                s.pop();
            }
        }

        if(!s.isEmpty())
            return false;

        return true;
    }
}




제출 화면

leetcode 문제 맞았습니다


오늘 문제는 자료구조 배울 때 배우는 알고리즘 문제라서 너무 쉬웠다.

내일 문제는 좀 재밌는 문제가 나왔으면 좋겠다.


내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.