hihunjin   5년 전

제 코드(116ms):

채점번호 : 12257633

다른사람 코드(Python 2등 코드)(68ms):

https://www.acmicpc.net/source...

제 예상으로는

제 코드에서 min(temp)부분이 유일한 차이점같습니다. temp의 크기가 최대 4라서 min이 그리 오래걸릴것 같지 않습니다.

deque과 list의 차이점은 (여러번 시도해 본 결과) 속도면에서 차이를 발견하지 못했습니다.

감사합니다.

hello70825   5년 전

68ms 코드를 제출해보니 72ms가 나오네요. 서버 상태에 따라 통과 시간이 약간 달라지는 듯 합니다.

저도 궁금해서 여러가지 해보니까 80ms에서 도무지 줄어들 기미가 안보이네요. ㅠㅠ

제가 알아본 결과는

- deque와 list의 차이(제 코드에서는 popleft()대신 pop(0)을 사용하니까 원래 코드보다 32ms 더 빨라졌습니다)

- movex,movey 없이 if문 4개로 상하좌우를 이동하게 구현

- 상하좌우 이동할 때마다 어떤 리스트에 저장해두지 않고, 큐에 같이 넣어줌

이정도가 시간을 줄이는데 도움을 줍니다.

hello70825   5년 전

세번째에 대한 내용이 부족한 것 같네요

q.append((newx,newy)) 가 아닌 q.append((newx,newy,temp+1)) 저장한다고 생각하시면 됩니다.

hihunjin   5년 전

https://www.acmicpc.net/user/h...

답변주셔서 감사합니다!

아하 temp list에 저장후->check를 업데이트 하는 행위가 시간이 오래 걸리겠네요.

감사합니다!


댓글을 작성하려면 로그인해야 합니다.