728x90
반응형
알고리즘을 풀다 보면 식이랑 답은 제대로 나오는데 시간초과가 날 때가 있다.
나는 주로 input()을 많이 사용하여 문제를 푸는데 이럴때는 바로 sys.stdin.readline()으로 변경해서 다시 제출해본다.
그럼 거의 시간초과가 해결될 때가 있다.(아직 내가 어려운 문제는 안풀어서 이걸로 해결이 가능한듯)
그러다 궁금해져서 둘의 차이점을 찾아봤다.
input()
- 사용자가 값을 입력하여 제출한다.
- 문자열변환, 줄바꿈 등 추가과정이 있다.
- 데이터가 버퍼에 하나씩 입력된다.
*버퍼 : 데이터를 한곳에서 다른 한곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역
sys.stdin.readline()
- input()과 같은 추가과정이 없다.
- 데이터가 버퍼에 한번에 입력된다.
그래서 왠만하면 sys.stdin.readline()을 이용하자.
출처-
https://buyandpray.tistory.com/7
https://hs-archive.tistory.com/35
728x90
반응형
'알고리즘문제풀이' 카테고리의 다른 글
[알고리즘/Python] 시간복잡도(time complexity) (2) | 2023.02.24 |
---|---|
[알고리즘/Python] 재귀함수와 팩토리얼 (0) | 2023.02.23 |
[알고리즘/Python] BFS(너비우선탐색) (0) | 2023.01.18 |
[알고리즘/Python] 깊이우선탐색 (DFS) (0) | 2023.01.18 |
[알고리즘/Python] 그래프(Graph) (인접행렬,인접리스트) (0) | 2023.01.18 |
댓글