https://leetcode.com/problems/valid-parentheses/description
Q. 주어진 문장 s 에 (, {, [, ], }, ) 가 있다.
이 문장이 유효한지 판단하라.
Solution.
Parentheses 문제가 나오면 대부분 stack을 쓴다.
그 중에 쉬운축에 속하는 문제.
닫히는 기호가 나올 때 stack안의 top이 그에 상응하는 기호를 가지고 있는 지 판단한다.
더보기
public bool IsValid(string s)
{
Stack<char> sBuff = new Stack<char>();
for(int k = 0; k < s.Length; ++k)
{
if(s[k]==')' || s[k]=='}' || s[k]==']')
{
if(sBuff.Count == 0) return false;
char top = sBuff.Pop();
if(s[k]==')' && top!='(') return false;
if(s[k]=='}' && top!='{') return false;
if(s[k]==']' && top!='[') return false;
}
else sBuff.Push(s[k]);
}
return sBuff.Count==0;
}
적절한 결과를 얻었다.
'Leetcode > Top 100 Liked' 카테고리의 다른 글
[Misc][Medium] 75. Sort Colors (0) | 2024.04.27 |
---|---|
[Misc][Medium] 56. Merger Intervals. (0) | 2024.04.27 |
[Sliding Window][Medium] 438. Find All Anagrams in a String (0) | 2024.04.19 |
[Sliding Window][Hard] 76. Minimum Window Substring (0) | 2024.04.18 |
[Sliding Window][Medium] 3. Longest Substring Without Repeating Characters (0) | 2024.04.18 |