728x90
반응형
https://leetcode.com/problems/valid-parentheses/description/
문제
문제 분석
- 스택을 이용해서 닫는 기호가 나타났을 때, 스택의 가장 최상단에 그와 연결되는 여는 기호가 있어야 유효한 Parenthesis가 될 수 있습니다.
풀이
class Solution {
private:
map<char, char> match = {
{')', '('},
{'}', '{'},
{']','['}
};
public:
bool isValid(string s) {
stack<char> stack;
for(const auto& c: s){
if(c == '(' || c == '{' || c == '['){
stack.push(c);
}else{
if(stack.empty()) {
return false;
}
char top = stack.top();
stack.pop();
if(match[c]!= top){
return false;
}
}
}
return stack.empty();
}
};
728x90
반응형
'Problem Solving > LeetCode' 카테고리의 다른 글
[LeetCode] C++ 739. Daily Temperatures (0) | 2024.08.19 |
---|---|
[LeetCode] C++ 316. Remove Duplicate Letters (0) | 2024.08.18 |
[LeetCode] C++ 92. Reverse Linked List II (0) | 2024.08.17 |
[LeetCode] C++ 328. Odd Even Linked List (0) | 2024.08.17 |
[LeetCode] C++ 24. Swap Nodes in Pairs (0) | 2024.08.17 |