반응형
백준 파이썬 문제를 풀다보면 시간초과가 뜨는 경우 입출력 방법을 바꿔줌으로써 해결하는 방법이 있다.
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
또한, 줄바꿈이 사라지기 때문에 직접 처리해주어야 한다.
반응형
'Dev > Python' 카테고리의 다른 글
[ Python ] 3항 연산자 (Ternary Operator) 에서 break, return을 사용 할 수 없는 이유 (0) | 2021.10.23 |
---|---|
No module named 'win32com' (0) | 2021.03.28 |
[ vscode ] extension "Code Runner" 한글 깨짐 (python, c, cpp) (1) | 2021.03.17 |