상세 컨텐츠

본문 제목

20. Valid Parentheses (C++)

알고리즘/leetcode

by 아리따운노을 2021. 10. 6. 00:02

본문

오늘 두문제 올리고 자기...

하면할수록 업무를 원활히 할 수 있을거 같기도 하고... cpp를 사용하니까 뭔가 포인터를 이용한 문제를 많이 풀어보고 싶기도 하다.

https://leetcode.com/problems/valid-parentheses/

 

Valid Parentheses - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

문제는 올바른 괄호 열고 닫기를 했는가!

원리는 아주 쉽다!

map을 이용해서 쌍을 만들어주고! 쌍이 맞으면 pop!, 그렇지 않으면 push!

마지막으로 전부다 했는데 비어있으면 true, 그렇지 않으면 false를 리턴하면 된다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Solution {
public:
    bool isValid(string s) {
        bool answer = false;
        map<charchar> pair;
        pair['('= ')';
        pair['{'= '}';
        pair['['= ']';
        stack<char> t;
        if(s.length() %2 == 1return false;
        
        t.push(s[0]);
        for(int i=1;i<s.length();i++){
            if(t.empty())
                t.push(s[i]);
            else if(pair[t.top()] != s[i])
                t.push(s[i]);
            else if(pair[t.top()] == s[i])
                t.pop();
            
            
            if(i == s.length() - 1 && t.empty())
                return true;
        }
        return false;
    }
};
cs

Easy중에서도 쏘이지...

 

 

시간도 낫밷...!

'알고리즘 > leetcode' 카테고리의 다른 글

169. Majority Element (C++)  (0) 2021.10.31
804. Unique Morse Code Words (C++)  (0) 2021.10.31
202. Happy Number (C++)  (0) 2021.10.07
190. Reverse Bits (C++)  (0) 2021.10.07
119. Pascal's Triangle II (C++)  (0) 2021.10.05

관련글 더보기

댓글 영역