-Code
from sys import stdin, stdout
while True:
line = stdin.readline().rstrip()
if line == "I quacked the code!":
break
try:
print("*Nod*" if line[-1] == "." else "Quack!")
except:
pass
stdout.flush()
시간 초과가 계속 떠서 찾아보니 stdout.flush를 사용하니 해결되었습니다.
✔️ sys.stdout.flush()
출력 버퍼 비우기로 해당 지점까지 출력 버퍼에 버퍼링된 모든 데이터를 파일 객체에 푸시합니다.
출력 함수(print 등)를 통해 데이터를 출력하는 경우 데이터의 내용이 즉시 출력되는 것이 아닌 출력 버퍼에 저장되었다가 출력하는데 sys.stdout.flush()를 통해 버퍼링된 모든 데이터를 바로 출력을 하게됩니다.
버퍼(buffer) : 데이터를 한 곳에서 다른 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리 영역
버퍼링(buffering) : 버퍼에 데이터를 채우는 과정
📖 Reference
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 19813번 Dates (0) | 2024.09.20 |
---|---|
[백준/파이썬] 10410번 Eligibility (0) | 2024.09.19 |
[백준/파이썬] 32306번 Basketball Score (1) | 2024.09.17 |
[백준/파이썬] 32314번 Christmas Tree Adapter (0) | 2024.09.17 |
[백준/파이썬] 9161번 Sir Bedavere’s Bogus Division Solutions (0) | 2024.09.15 |