PyPy3로 제출하여 통과했습니다.
Python3로 제출하여 통과하는 방법은 없을까요?
어느 부분이 오래 걸리는지 알고 싶습니다.
7569번 - 토마토
이 코드를 제출하면 런타임에러가 납니다.
알고리즘 자체의 개선사항은 python3 정답자들의 코드를 확인하는 것이 좋을 것 같고,
저는 기술적인 부분만 조금 수정해보았습니다.
box = [[sys.stdin.readline().split() for i in range(N)] for j in range(H)] 로 append 대신 box의 생성 시점에서 입력을 받게끔 하였고
nh, nr, nc = h+i, r+j, c+k 로 중복된 덧셈 계산을 줄여보았습니다. 4452ms 로 통과하네요.
loop unrolling을 사용하면 더 성능이득을 볼 수 있습니다만, (https://www.acmicpc.net/source/13576932) 다른 개선방안을 참조하는 것이 더 좋을 것 같네요.
is_in_range 함수호출 대신 if 문 내에서 전부 비교했다는 내용을 빼먹었습니다.
댓글을 작성하려면 로그인해야 합니다.
ohyuni 4년 전
안녕하세요.
7569번 문제를 푸는데 시간 초과 문제가 발생해서 질문 드립니다.
제 코드에서 불필요한 부분이나 개선할 수 있는 부분이 있다면 알려주시면 고맙겠습니다.
감사합니다.