320x100
https://leetcode.com/problems/valid-parentheses/
(){}[]로 구성되어있는 문자열이 괄호쌍이 순서대로 열리고 닫혀있는지 확인하는 문제다.
처음엔 순서쌍 갯수만 맞으면 되는줄 알고 counting만 했어야 했는데, 열리고 닫히는 순서도 체크해야해서 stack 으로 변경해서 풀었다.
class Solution {
public:
bool checkfunc(stack<char>& stack_, char c) {
if (stack_.empty())
return false;
if (c != stack_.top())
return false;
stack_.pop();
return true;
}
bool isValid(string s) {
stack<char> stack_;
for (char c : s) {
switch(c)
{
case ')': {
if (!checkfunc(stack_, '('))
return false;
break;
}
case '}': {
if (!checkfunc(stack_, '{'))
return false;
break;
}
case ']': {
if (!checkfunc(stack_, '['))
return false;
break;
}
default : stack_.push(c); break;
}
}
return stack_.empty();
}
};
320x100
'코딩테스트 준비 > leetcode' 카테고리의 다른 글
39. Combination Sum (0) | 2021.11.07 |
---|---|
21. Merge Two Sorted Lists (0) | 2021.09.22 |
90. Subsets II (0) | 2021.09.01 |
82. Remove Duplicates from Sorted List II (0) | 2021.08.29 |
81. Search in Rotated Sorted Array II (0) | 2021.08.28 |