Python/파이썬 문법

[파이썬 문법] 입출력 보충(2차원 배열, sys.stdin.readline)

서노리 2022. 1. 6. 19:59
반응형

input() 대신에 sys.stdin.readline()을 사용하는 이유?

[파이썬 문법] - [파이썬 문법] 입출력 에서 언급한대로 입력해야할 데이터가 매우 많은 경우 입력을 받는 것만으로도 시간 초과를 받을 수 있다. 예를 들어 반복문으로 여러줄을 입력 받아야하는 문제의 경우 input()을 사용하면 시간 초과를 받을 수 있다.

 

※ 한 줄의 문자열 입력받기

import sys
data = sys.stdin.readline().rstrip()
print(data)

 

rstrip()는 문자열의 맨 오른쪽의 개행문자(공백)를 삭제해주는 함수이다.

 

※ 여러 줄의 문자열 리스트에 입력받기

import sys
n = int(sys.stdin.readline()) # 입력받을 문자열 수
data = [sys.stdin.readline().rstrip() for i in range(n)]

 

※ 임의의 수의 정수 반복문으로 입력받기

import sys
n = int(input()) # 입력 받을 횟수
for i in range(n):
        a,b = map(int, sys.stdin.readline().split())
        print(a+b) # 입력받아 합 출력

 

※ 임의의 수의 정수 한줄에 입력받아 리스트에 저장하기

import sys
data = list(map(int,sys.stdin.readline().split()))

 

※ 임의의 수의 정수 n줄 입력받아 2차원 리스트에 저장하기

import sys
data = []
n = int(input())
for i in range(n):
    data.append(list(map(int,sys.stdin.readline().split())))
# 리스트 컴프리헨션 이용한 방법 
import sys
n = int(input())
data = [list(map(int, sys.stdin.readline().split())) for i in range(n)]

 

반응형