lazy_ren   9년 전

며칠전에 2010번 시간 초과로 질문드렸던 학생입니다. joonas님과 답글 달아주신 다른 분들 덕분에 문제를 해결할 수 있었는데요,

raw_input() 대신에 sys.stdin.readline()을 통해서 시간을 줄이는 방법을 배웠는데, 이를 똑같이 2167번에 적용해도 시간초과가 나와버리네요..

답 자체는 맞게 나오는것같은데, 파이썬 언어 자체가 acmicpc에서 허용해주는 time limit 내에 들기 어려운 편인가요?

조금만 반복해야하는 양이 많아지면 어김없이 시간초과가 나오네요.ㅠㅠ

p.s. raw_input().split() 을 통해서 띄어쓰기를 통해 받아오는 값을 나누긴했는데, 이를 바로 int형으로 변환을 못시키겠습니다.

이때문에 

for i in range(K):

    for j in range(4):

        cases[i][j] = int(cases[i][j])

이런식으로 시간을 많이잡아먹는데요, 숫자들을 한줄로 받자마자 띄어쓰기로 나누어주면서 str 이 아닌 int로 변환하는 방법이 있을까요?

c의 scanf()가 그리워지네요...

yukariko   9년 전

그 문제를 파이썬으로 푸신 분의 소스를 봤는데요,

언어적 문제는 아닌것 같습니다.

왜냐하면 파이썬은 + 5초의 시간을 주는데도 이 분의 소스는 300ms 였으니까요.

전부 보여드리긴 그렇고 이분이 input으로 사용한 소스를 첨부해봤습니다.

wnsqlehlswk   9년 전

한줄 받고 형변환뒤 리스트로 리턴

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