We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent e88c1bb commit a5e4185Copy full SHA for a5e4185
valid-parentheses/yeeZinu.js
@@ -0,0 +1,43 @@
1
+/**
2
+ * @param {string} s
3
+ * @return {boolean}
4
+
5
+ 괄호 유효성 검사(
6
+ 어느 괄호로 열어도 상관은 없지만 열었으면 닫아야지 true 안닫으면 false
7
+ ({)} -> 이런식으로 중간에 섞여서 닫혀있지 않다는 전제의 문제
8
+ */
9
+var isValid = function (s) {
10
+ if (s.length % 2 === 1) {
11
+ return false
12
+ }
13
14
+ // 괄호들이 들어갈 스택배열
15
+ const stack = [];
16
17
+ // 괄호 짝 객체
18
+ const pair = {
19
+ "(": ")",
20
+ "{": "}",
21
+ "[": "]",
22
23
24
+ for (let i = 0; i < s.length; i++) {
25
+ // 열린괄호면 스택추가
26
+ if (s[i] in pair) {
27
+ stack.push(s[i]);
28
29
+ // 닫힌 괄호라면?
30
+ else {
31
+ // 스택배열의 마지막이 같은 종류의 괄호라면 제거
32
+ if (pair[stack.at(-1)] === s[i]) {
33
+ stack.pop();
34
35
+ // 아니면 false
36
37
38
39
40
41
+ // 스택배열이 비었으면 true
42
+ return stack.length === 0;
43
+};
0 commit comments