728x90
반응형
https://www.acmicpc.net/problem/11723
Python
import sys
input = sys.stdin.readline
s = [0]*21
for _ in range(int(input())):
cmd = input().split()
if cmd[0][:2] == "al":
s.clear() # s= ~~ 만 하면 새로운 것을 할당할 뿐 이전 것이 지워지지 않음
s = [1]*21
elif cmd[0][:2] == "em":
del s[:]
s = [0]*21
else:
cmd[1] = int(cmd[1])
if cmd[0][:2] == "ad":
s[cmd[1]] = 1
elif cmd[0][:2] == "re":
s[cmd[1]] = 0
elif cmd[0][:2] == "ch":
print(s[cmd[1]])
elif cmd[0][:2] == "to":
s[cmd[1]] = 0 if s[cmd[1]] else 1 # 1-s[cmd[1]]
풀이
- s.clear()
- clear()를 써주어야만 해당 리스트가 메모리에서 완전히 삭제된다. 메모리를 아껴쓰자!
- 이와 비슷하게 del s[:]도 있다
- 1, 0 toggle은 1-x
- 위의 코드는 pypy3로 채점하면 메모리 초과가 난다. python3로 채점하면 통과한다.
- 일단 python3가 메모리 면에서 좀 더 허용된다는 것은 알게 됐다.
728x90
반응형
'Algorithm Problems' 카테고리의 다른 글
[Python] heapq 라이브러리 살펴보기 (0) | 2021.08.04 |
---|---|
[백준][Python] 20301번 반전 요세푸스 - 원형 큐 (0) | 2021.08.04 |
[백준][Python] 5525번 IOIOI - 문자열 (0) | 2021.08.04 |
[백준][Python] 15828번 Router - 원형 큐 (0) | 2021.08.01 |
[백준][Python] 2751번 수 정렬하기2 - MergeSort (0) | 2021.07.29 |