주어진 문자열 s는 ’(’, ‘)’, ‘{’, ‘}’, ‘[’, ‘]’로만 이루어져 있습니다. 이때, 문자열 s에서 올바른 괄호 쌍의 개수를 반환하는 solution 함수를 작성하세요. 만약 문자열 s가 올바르지 않은 괄호로 구성되어 있다면 -1을 반환합니다.
올바른 괄호의 정의
여는 괄호 '(', '{', '['는 각각 닫는 괄호 ')', '}', ']'와 반드시 짝지어야 합니다.
여는 괄호는 올바른 순서로 닫혀야 합니다.
예: '({[]})' → 올바른 괄호, ')(' → 올바르지 않은 괄호.
예시 1
입력: s = "()[]{}"
출력: 3
설명: 올바른 괄호 쌍이 세 개 존재합니다.
예시 2
입력: s = "{ ( ( [ ] ) ) [ ] }"
출력: 5
설명: 두 개의 올바른 괄호 쌍이 있습니다.
예시 3
입력: s = "([)]"
출력: -1
설명: 괄호가 올바르지 않으므로 -1을 반환합니다.
1 ≤ s.length ≤ 105
s는 오직 ‘(’, ‘)’, ‘{’, ‘}’, ‘[’, ’]’로만 구성됩니다.
()[]{}