1. Home
  2. 코딩테스트
  3. 올바른 괄호 쌍
문제 설명

올바른 괄호 쌍

주어진 문자열 s는 ’(’, ‘)’, ‘{’, ‘}’, ‘[’, ‘]’로만 이루어져 있습니다. 이때, 문자열 s에서 올바른 괄호 쌍의 개수를 반환하는 solution 함수를 작성하세요. 만약 문자열 s가 올바르지 않은 괄호로 구성되어 있다면 -1을 반환합니다.

올바른 괄호의 정의

  • 여는 괄호 '(', '{', '['는 각각 닫는 괄호 ')', '}', ']'와 반드시 짝지어야 합니다.

  • 여는 괄호는 올바른 순서로 닫혀야 합니다.

  • 예: '({[]})' → 올바른 괄호, ')(' → 올바르지 않은 괄호.

입출력 예시

예시 1

  • 입력: s = "()[]{}"

  • 출력: 3

  • 설명: 올바른 괄호 쌍이 세 개 존재합니다.

예시 2

  • 입력: s = "{ ( ( [ ] ) ) [ ] }"

  • 출력: 5

  • 설명: 두 개의 올바른 괄호 쌍이 있습니다.

예시 3

  • 입력: s = "([)]"

  • 출력: -1

  • 설명: 괄호가 올바르지 않으므로 -1을 반환합니다.

제한 사항

  • 1 ≤ s.length ≤ 105

  • s는 오직 ‘(’, ‘)’, ‘{’, ‘}’, ‘[’, ’]’로만 구성됩니다.

s

()[]{}

문제 설명

올바른 괄호 쌍

주어진 문자열 s는 ’(’, ‘)’, ‘{’, ‘}’, ‘[’, ‘]’로만 이루어져 있습니다. 이때, 문자열 s에서 올바른 괄호 쌍의 개수를 반환하는 solution 함수를 작성하세요. 만약 문자열 s가 올바르지 않은 괄호로 구성되어 있다면 -1을 반환합니다.

올바른 괄호의 정의

  • 여는 괄호 '(', '{', '['는 각각 닫는 괄호 ')', '}', ']'와 반드시 짝지어야 합니다.

  • 여는 괄호는 올바른 순서로 닫혀야 합니다.

  • 예: '({[]})' → 올바른 괄호, ')(' → 올바르지 않은 괄호.

입출력 예시

예시 1

  • 입력: s = "()[]{}"

  • 출력: 3

  • 설명: 올바른 괄호 쌍이 세 개 존재합니다.

예시 2

  • 입력: s = "{ ( ( [ ] ) ) [ ] }"

  • 출력: 5

  • 설명: 두 개의 올바른 괄호 쌍이 있습니다.

예시 3

  • 입력: s = "([)]"

  • 출력: -1

  • 설명: 괄호가 올바르지 않으므로 -1을 반환합니다.

제한 사항

  • 1 ≤ s.length ≤ 105

  • s는 오직 ‘(’, ‘)’, ‘{’, ‘}’, ‘[’, ’]’로만 구성됩니다.

s

()[]{}