728x90
반응형
✍️ 문제
Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
- Every close bracket has a corresponding open bracket of the same type.
Example 1:
Input: s = "()"
Output: true
Example 2:
Input: s = "()[]{}"
Output: true
Example 3:
Input: s = "(]"
Output: false
Constraints:
- 1 <= s.length <= 104
- s consists of parentheses only '()[]{}'.
🖥 해결방법
function isValid(s: string): boolean {
const stack = [];
for (const c of s) {
if (c === '(' || c === '{' || c === '[') {
stack.push(c);
} else {
const p = stack.pop();
if (c === ')' && p !== '(' || c === '}' && p !== '{' || c === ']' && p !== '[') return false;
}
}
return stack.length === 0;
};
🌈 결과
728x90
반응형
그리드형
'알고리즘' 카테고리의 다른 글
[LeetCode] 14. Longest Common Prefix | 자바스크립트 (0) | 2022.09.08 |
---|---|
[LeetCode] 13. Roman to Integer | 자바스크립트 (0) | 2022.09.05 |
[LeetCode] 1. Two Sum | 자바스크립트 (0) | 2022.08.31 |
자바스크립트 문자열 내림차순 정렬하는 방법 (Sorting strings in descending order in Javascript) (0) | 2021.08.10 |
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.