https://app.codility.com/programmers/lessons/7-stacks_and_queues/brackets/
- N개의 문자로 구성된 문자열 S가 주어질 때
- 아래의 조건 중에서 하나의 조건이라도 만족하면 properly nested
- S는 비어있다.
- S는 "(U)" or "[U]" or "{U}" 형식을 가지면 U는 properly nested.
- S는 V와 W가 적절하게 중첩된 문자열인 "VM" 형식을 가지면 V와 W는 properly nested
- properly nested인 경우 1출력, 아닌 경우 0출력
- O(N)
def solution(S):
stack = []
for i in range(0, len(S)):
input = S[i]
if input=='(' or input=='[' or input=='{':
stack.append(input)
if len(stack) == 0:
return 0
if input==')':
if stack.pop()!='(':
return 0
elif input==']':
if stack.pop() !='[':
return 0
elif input=='}':
if stack.pop() !='{':
return 0
if len(stack)==0:
return 1
else:
return 0
'코딩테스트 > Codility' 카테고리의 다른 글
[codility] Lesson 8. Leader - Dominator (0) | 2022.08.13 |
---|---|
[codility] Lesson 7. Stacks and Queues - Nesting (0) | 2022.08.12 |
[codility] Lesson 6. Sorting - Triangle (0) | 2022.08.12 |
[codility] Lesson 6. Sorting - MaxProductOfThree (0) | 2022.08.12 |
[codility] Lesson 6. Sorting - Distinct (0) | 2022.08.12 |