파이썬 언어 주의사항
-
입력을 받을 때:
sys.stdin.readline
한 줄을 백만 번 입력 받는 것 보다, 백만 줄을 한 번 입력 받는 것이 더 빠르다. 출력도 마찬가지이므로, 개행문자를 포함한 문자열을 만들어서 한 번에 출력하자.
-
시간 복잡도
-
List의 경우,
len(list1) = N, len(list2) = K
일 때-
list1 = 1 + list1
: O(N)새로운 리스트를 만들어서 재할당. 순서를
list1 + 1
으로 바꿔append
와 동일 하게 만들어도 새로운 리스트를 만드는 것이므로 O(N)이다. -
list1.append(1)
: O(1) -
list = list1 + list2
: O(N+K) -
list1.extend(list2)
: O(K) -
list1 += list2
: O(K)+=
를 알아서extend
로 수행,list2
가 아니라 정수라면append
로 수행해 O(1)
-
-
-
시간초과가 난다면
Pypy3
를 사용하자.
Leave a comment