hello70825   5년 전

제가 pypy로 문제를 맞아서 바로 밑에 python으로 푸신 분의 소스 코드를 보니 밑 소스 코드로 제출하셨더라구요.

소스 코드를 보니 제가 python으로 제출했을때 시간 초과가 떠서  pypy로 제출한 코드와 변수명만 다르고 나머지는 차이가 없는 코드였습니다.

제 코드를 이래저래 고쳐봐도 시간초과가 뜨길래, 아예 그 분이 제출한 코드를 똑같이 복사해서 제출했더니 저는 시간초과가 뜨더라구요.

같은 코드인데도 결과가 다르게 뜨는 이유가 뭘까요?

djm03178   5년 전

이유는 단순합니다. PyPy3가 Python 3보다 훨씬 빠르기 때문입니다.

hello70825   5년 전

아뇨 제가 그 분 코드(본문 소스 코드)를 똑같이 제출했는데, 그 분은 맞았습니다가 뜨고 저는 시간 초과가 떴습니다.

djm03178   5년 전

혹시 그 코드의 원분 제출 링크를 알 수 있을까요?

djm03178   5년 전

수행 시간이라는 건 어떤 공식에 의해 일정하게 정해진 것이 아니라 실제 실행 시간으로 측정하므로 같은 코드라도 서버 속도나 인터프리터의 버전, 실행시의 서버 상태에 따라서도 변화할 수 있습니다.

djm03178   5년 전

저 코드라면 더욱 확실하군요. 이 문제의 파이썬 게열 시간 제한은 5초이고 4944ms는 이에 매우 근접합니다. 저 코드가 운 좋게 빠르게 돌았다고 할 수 있겠네요.

jaehoo1   5년 전

그저 채점(서버)환경의 차이가 아닐까 싶습니다.

방금 저 코드로 두번의 제출을 해보았는데,

한번은 36% 정도에서 TLE가 나왔고,

한번은 72% 정도에서 TLE가 나왔습니다.

아마 저 코드는 시간초과 기준을 아슬아슬하게 지키는 코드인듯 합니다.

운이 좋으면 서버 환경이 좋아 통과하는 그런 코드요

hello70825   5년 전

djm03178님, jaehoo1님 감사합니다

계속 시간초과가 떠서 띠용했었네요

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