[우아한테크코스] 7월 4일 TIL
[Algorithm] 짝지어 제거하기
처음에는 문자열이 0이 될때까지 반복문 돌면서 같은거 있으면 앞뒤 붙여서 문자열 새로 만들고 하려 했다.
그치만 이러면 너무 비효율적이었다.
그래서 생각한 방법은 다음과 같다.
- 문자열을 돌면서 문자열이 비어있거나, 마지막 문자열과 같지 않으면 리스트에 추가한다.
- 끝까지 돌았을 때 리스트가 비어있으면 짝지어 제거하기가 가능, 아니면 안가능인거다.
여기서 새로 안 문법은 pop이다.
list.pop()은 마지막 요소를 제거하는 것이다.
def solution(s):
tmp = []
for i in range(0, len(s)):
if not tmp:
tmp.append(s[i])
else:
if tmp[-1] == s[i]:
tmp.pop()
else:
tmp.append(s[i])
if not tmp:
return 1
return 0