안녕하세요?
두 코드의 차이점은, 첫 번째의 코드의 경우 sys 모듈의 sys.stdin.readline을 통해 입력을 받았고, 두 번째 코드의 경우 그냥 input()을 통해 입력을 받았기 때문입니다.
파이썬의 sys.stdin.readline()은 그냥 input()에 비해 월등히 빠르기 때문에 많은 데이터를 입력받아야 하는 상황에서 실행 시간이 훨씬 빠르며 문제풀이에도 유리합니다. 그러므로 본 문제처럼 입력받는 데이터가 많다면 sys.stdin.readline 사용을 적극 권장합니다.
기본적인 사용법은 코드에 첨부했습니다.
그리고 입력을 많이 받는 문제가 있다면 출력을 많이 해야 하는 문제도 있을 것입니다. 이 경우에는 sys.stdout.write()을 사용하면 sys.stdin.readline()과 마찬가지로 시간을 대폭 줄일 수 있게 됩니다. sys.stdin.readline과 sys.stdout.write에 대한 내용을 검색하시는 것을 추천합니다!
wnsrl4067 2년 전
첫번째 코드는 시간이 320ms, 두번째 코드는 4300ms가 발생합니다.
입력 받는 부분인
lst.append(list(input().split()))
lst[i][0] = int(lst[i][0])
map(str,input().split())
int(age)
이 두 과정에서 큰 차이가 나는거 같은데, 왜 큰 차이가 발생하는지 궁금합니다!
관련 글이나, 학습자료가 있다면 알려주시면 감사히 읽겠습니다 :)