기능: 표준 입력에서 한 줄의 문자열을 읽어옵니다.
사용법: input() 함수는 사용자가 입력한 한 줄의 문자열을 반환합니다.
자동 개행 제거: input() 함수는 입력된 문자열의 끝에 있는 개행 문자(\n)를 자동으로 제거합니다.
편리성: 간단한 입력을 받을 때 사용하기 편리합니다.
속도: sys.stdin.readline()에 비해 상대적으로 느립니다. 특히 많은 양의 입력을 받을 때 차이가 커집니다.
# input()을 사용하여 입력받기
n = int(input()) # 정수 입력
data = input().split() # 공백으로 구분된 문자열 입력
기능: 표준 입력에서 한 줄의 문자열을 읽어옵니다.
사용법: sys.stdin.readline() 함수는 입력된 한 줄의 문자열을 그대로 반환합니다.
개행 문자 포함: sys.stdin.readline() 함수는 입력된 문자열의 끝에 있는 개행 문자(\n)를 포함하여 반환합니다. 따라서 필요에 따라 개행 문자를 제거해야 합니다.
속도: input()에 비해 빠릅니다. 특히 많은 양의 입력을 받을 때 유리합니다.
사용 예: 많은 양의 데이터를 빠르게 입력받아야 할 때 사용합니다.
import sys
# sys.stdin.readline()을 사용하여 입력받기
n = int(sys.stdin.readline().strip()) # 정수 입력
data = sys.stdin.readline().strip().split() # 공백으로 구분된 문자열 입력
알고리즘을 풀다보면, 가끔 입력값을 제대로 받지 않아서 시간초과가 발생하곤 한다.
input():
input() 함수는 표준 입력에서 한 줄을 읽어올 때 내부적으로 많은 작업을 수행합니다.
sys.stdin.readline():
input():
input() 함수는 Python의 내장 함수로, 호출 시 추가적인 오버헤드가 발생합니다. 특히, 많은 양의 데이터를 처리할 때 이러한 오버헤드가 누적되어 성능에 영향을 미칠 수 있습니다.
sys.stdin.readline():
sys.stdin.readline() 함수는 표준 입력 스트림에서 직접 데이터를 읽어오므로, 함수 호출 오버헤드가 상대적으로 적습니다. 따라서, 많은 양의 데이터를 처리할 때 더 효율적입니다.
input():
input() 함수는 입력된 문자열의 끝에 있는 개행 문자(\n)를 자동으로 제거합니다. 이 과정에서 추가적인 문자열 처리가 필요하며, 이는 성능에 영향을 미칠 수 있습니다.
sys.stdin.readline():
sys.stdin.readline() 함수는 개행 문자를 포함한 전체 문자열을 반환하므로, 추가적인 처리가 필요하지 않습니다. 필요에 따라 개행 문자를 제거할 수 있지만, 이는 사용자가 명시적으로 처리할 수 있습니다.