320x100
스택을 사용했다.
Example 3: "(ed(et(oc))el)"
을 예로들어보자.
여는 괄호가 시작될때마다 스택을 하나씩 생성해서 이후에 나오는 문자들을 최근 스택에 쌓는다.
스택이 하나도 없는 경우 문자열 순서에 변경이 없을 것이기 때문에 정답 문자열의 뒤에 추가한다.
닫는 괄호가 나오면 최근 스택을 pop하면서 이전 스택에 push한다.
스택을 pop할때 이전 스택이 없는 경우 (스택이 하나인 경우) 정답 문자열에 추가한다.
시간복잡도는 O(|s|^2)
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[leetcode][1209] Remove All Adjacent Duplicates in String II (0) | 2019.10.03 |
---|---|
[leetcode][1207] Unique Number of Occurrences (0) | 2019.10.02 |
[leetcode][1189] Maximum Number of Balloons (0) | 2019.09.25 |
[leetcode][1202] Smallest String With Swaps (0) | 2019.09.23 |
[leetcode][1192] Critical Connections in a Network (0) | 2019.09.23 |
댓글