-
01. 문자열 분해
✅데이터 형태 : "(())" / "()()"...
- toCharArray() 메서드를 통해, 문자열을 분리
for (char c : s.toCharArray()) { if (c == '(') { stack.push(c); } else if (c == ')') { if (stack.isEmpty() || stack.peek() != '(') { return false; } stack.pop(); // 여는 괄호는 짝이 맞으므로 pop하여 제거 } }
02. Stack을 이용한 풀이
2-1. 구현 원리
1번째 " ( " push
( But,
" ) " 의 경우 Peek 하였을 때, Stack이 비어있으므로
false 반환
2번째 if문 조건에 의해
Stack안에 있는 " ( " 가 맞는지 확인
아닐 경우, false반환
맞을 경우, pop 진행
( "정상적인 괄호 형태" pop, 되면서 stack은 비워짐
이런 반복적인 작업을 통해,
괄호의 정상적인 유무를 파악할 수 있다.
'스터디' 카테고리의 다른 글
[Day06] [프로그래머스][LV2] 기능개발 (0) 2024.02.09 [Day05] [프로그래머스][LV3] 베스트앨범 (0) 2024.01.26 [Day04] "사내 스터디 1기" 2회차 회고 (3) 2024.01.16 [Day03] [프로그래머스][LV2] 전화번호 목록 (2) 2024.01.09 [Day02] [프로그래머스][LV2] 타겟넘버 (0) 2023.12.13 댓글