- 문제 설명
괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어
- "()()" 또는 "(())()" 는 올바른 괄호입니다.
- ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.
'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.
- 제한사항
- 문자열 s의 길이 : 100,000 이하의 자연수
- 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.
✍ 문제풀이
처음엔 단순히 '(' 면 check + 1, ')' 면 check - 1을 해줬다. 그리고 처음부터 ')'가 나오면 false 반환.
그러나 아래 테스트 케이스에서 true가 반환되었고, 코드를 다시 고쳤다.
"()))((()" |
false |
'(' 면 check + 1 해주고,
')' 이고 check > 0 일 때, check - 1이 되도록 구현했다.
그리고 한 번의 괄호 체크가 끝나면 continue나 break로 바로 빠져나오게 구현했다.
🌱 정답코드
'OLD_알고리즘 > Programmers - 알고리즘' 카테고리의 다른 글
Programmers ] Lv.1 다트 게임 & string -> int (stoi), isdigit (0) | 2021.05.26 |
---|---|
Programmers ] 🔁 Lv.2 Kakao 괄호 변환 & 그대로 구현 + 재귀함수 (0) | 2021.05.25 |
Programmers ] Lv.2 피보나치수 (0) | 2021.05.21 |
Programmers ] Level 2 - 더 맵게 (0) | 2021.03.23 |
Programmers ] Level 2 - 전화번호 목록 (0) | 2021.03.06 |
댓글