다 제거될 때까지 반복하는게 아니고 한번에 제거해야 시간초과가 나지 않는다.
def solution(s):
answer = 0
tmp = []
for i in s:
if tmp and tmp[-1] == i:
tmp.pop()
else:
tmp.append(i)
return int(len(tmp) == 0)
시간초과 나는 코드
def solution(s):
while True:
if len(s)==0:
return 1
prev = ""
new_s = ""
flag = 0
for i, char in enumerate(s):
if prev == char:
new_s = s[:i-1] + s[i+1:]
flag = 1
break
prev = char
if flag == 0:
return 0
s = new_s
return 0
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스/Python] 문자열 압축(중복체크/반복문) (0) | 2021.01.05 |
---|---|
[프로그래머스/Python] 구명보트(그리디) (0) | 2021.01.04 |
[프로그래머스/Python] 소수찾기(완전탐색) (0) | 2021.01.03 |
[프로그래머스/Python] 괄호변환(재귀/구현) (0) | 2021.01.03 |
[프로그래머스/Python] 기능개발(큐) (0) | 2021.01.03 |