'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀
문제 👉 <Valid Parentheses - LeetCode>
1. 문제 (유효한 괄호)
괄호로 된 입력값이 올바른지 판별하라.
2. 풀이
스택
을 이용한 풀이
3. 코드 (Python)
- 스택을 이용한 풀이
class Solution:
def isValid(self, s: str) -> bool:
dic = {
')' : '(',
'}' : '{',
']' : '['
}
stack = []
for c in s:
if c not in dic:
stack.append(c)
elif not stack or stack.pop() != dic[c]:
return False
return not stack
- 결과 :
방식 | Status | Runtime | Memory | Language |
---|---|---|---|---|
스택 | [Accepted] | 32 ms | 14 MB | python3 |
4. 코드 (JAVA)
class Solution {
public boolean isValid(String s) {
Stack<Character> st = new Stack<>();
for (char c : s.toCharArray()) {
if (c == '(' || c == '[' || c == '{') {
st.push(c);
} else if (c == ')') {
if (st.size() == 0 || st.pop() != '(') return false;
} else if (c == ']') {
if (st.size() == 0 || st.pop() != '[') return false;
} else if (c == '}') {
if (st.size() == 0 || st.pop() != '{') return false;
}
}
return (st.size() == 0) ? true : false;
}
}
- 결과 :
방식 | Status | Runtime | Memory | Language |
---|---|---|---|---|
스택 | [Accepted] | 1 ms | 36.6 MB | java |
References
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'Coding Test > LeetCode' 카테고리의 다른 글
[LeetCode] 316. Remove Duplicate Letters [Python(파이썬)] (0) | 2021.11.23 |
---|---|
[LeetCode] 3. Longest Substring Without Repeating Characters [Python(파이썬)] (0) | 2021.11.23 |
[LeetCode] 328. Odd Even Linked List [Python(파이썬)] (0) | 2021.11.23 |
댓글