올려주신 코드의 dot2() 에서,
result = result % 1000
로 list를 int로 나누고 있어, 시간 초과가 아닌 오류가 발생할 것이구요.
질문자님의 제출 기록을 확인해 보니,
19번 줄에서 temp[j] % 1000
라고 선언만 할 뿐 값을 저장하지 않고 있네요.
나머지 연산이 안된 상태로 큰 수를 연산하다 보니 (최대 5000 ^ (10^11) 정도), 틀렸습니다가 아닌 시간 초과가 나는 것입니다.
첫 케이스부터 상당히 큰 엣지 케이스를 주는 것 같아요.
dksrudmoe 2년 전
dot1 함수는 리스트를 []로 선언하고 append로 원소를 추가해주었구요
dot2 함수는 [None] * n, [0] * n 등을 사용해서 배열을 사이즈에 맞게 미리 선언했는데요.
근데 dot2 쓸때만 시간초과가 발생합니다.
원래 c++에서는 vector를 사용할 때 계속 push_back 하는 것보다 미리 크기에 맞춰서 선언하는 것이 속도가 더 빠르다고 알고 있는데
파이썬 list는 오히려 미리 선언해주었을 때 시간초과가 나는데요 이유가 있나요?