레슨 2 · 파이썬 알고리즘 기초
알고리즘 문제를 풀 때 입출력이 수만~수십만 줄이 되는 경우가 있어요.
파이썬의 기본 input() 함수는 한 글자씩 읽기 때문에 느려서 시간 초과가 날 수 있어요.
sys.stdin.readline() 은 한 줄 전체를 버퍼로 읽어 속도가 훨씬 빠릅니다.
import sys
input = sys.stdin.readline # input()을 빠른 버전으로 교체
a = input() # 한 줄 입력
print(a)⚠️
readline()은 줄 끝에 개행문자 \n 이 포함됩니다. 문자열 비교나 출력 전에.rstrip()으로 제거해 주세요.
import sys
input = sys.stdin.readline
s = input().rstrip() # 오른쪽 공백/개행 제거
print(s)import sys
input = sys.stdin.readline
# 정수 1개
n = int(input())
# 공백으로 구분된 정수 여러 개
a, b, c = map(int, input().split())
# 정수 리스트
arr = list(map(int, input().split()))| 함수 | 방식 | 속도 |
|---|---|---|
input() | 한 글자씩 읽기 | 느림 |
sys.stdin.readline() | 버퍼 단위 읽기 | 빠름 |
대부분의 알고리즘 문제에서는 코드 상단에 아래 한 줄만 추가하면 됩니다.
import sys
input = sys.stdin.readlinesys.stdin.readline 사용.rstrip() 또는 .strip()int(input()), map(int, input().split())