Dev/Python

[ Python ] 입출력(I/O) 속도 빠르게 하기

surimi🍥 2021. 12. 6. 18:31
반응형

백준 파이썬 문제를 풀다보면 시간초과가 뜨는 경우 입출력 방법을 바꿔줌으로써 해결하는 방법이 있다.

import sys
input = sys.stdin.readline
print = sys.stdout.write

위 처럼 input()과 print()를 덮어씌워버린다.

# 주의할 점

바꾸고 나면,

input()은 개행문자 "\n"까지 읽어들이기 때문에 .rstrip()등으로 지워주어야 하고

import sys
input = sys.stdin.readline

n = input()              # "1"을 입력 할 때,

print(list(n))           # ['1', '\n']
print([int(n)])          # [1]
print(list(n.rstrip()))  # ['1']

print()는 출력 방식이 다음과 같이 바뀌어 버린다.

import sys
print = sys.stdout.write

print("%s\n" % "123")  # 123
print("%s\n" % ("12" + "3"))  # 123
print("%d + %d = %d\n" % (1, 2, 1 + 2))  # 1 + 2 = 3

또한, 줄바꿈이 사라지기 때문에 직접 처리해주어야 한다.

반응형