처음에 시간초과가 날 로직밖에 생각이 안났다.
문자열을 한 바퀴만 돌린다고 해도 100M이다.
O(N log N)일 경우, 딱 마지노선이라 생각했기 때문에 무조건 O(N)으로 끝내야겠다고 생각했다.
문자열에서 조건이 맞으면 문자들을 제거해야 하기 때문에 빠르게 배열의 중간 원소를 제거할 수 있는 알고리즘과 자료구조가 무엇인지를 생각했다.
def solution(s):
stack = []
for i in list(s):
if len(stack) > 0 and stack[-1] == i:
stack.pop()
else:
stack.append(i)
if len(stack) == 0:
return 1
else :
return 0
[프로그래머스] H-Index (0) | 2023.12.18 |
---|---|
[프로그래머스] n^2 배열 자르기 (1) | 2023.12.15 |
[프로그래머스] 괄호 회전하기 (0) | 2023.12.15 |
[프로그래머스] 방금 그 곡 (0) | 2023.12.13 |
[프로그래머스] 다음 큰 숫자 (1) | 2023.12.11 |