컴퓨터공학/Python

Python 입력 방법 및 빠른 입/출력, 숫자 2차원 배열, 문자 2차원 배열 입력, 띄어쓰기 없이 2차원 배열 입력

saurus2 2021. 2. 24. 11:34

알고리즘 문제를 풀때 입력의 속도를 빠르게 하는방법

C :
scanf 사용

C++ :
ios_base :: sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);

JAVA : 
BufferedReader br = new BufferedReader( new InputStreamReader ( System.in ) );
str = br.readline();

파이썬도 위와 마찬가지로 입/출력 속도를 빠르게하는 문법이 있음

 

입력 예제 0:

1
정수 한개를 입력 받는 방법

n = int(sys.stdin.readline())

 

입력 예제 1:

ABCDE

띄어쓰기가 없는 문자열을 1차원 리스트(배열)에 각각 인덱스를 가지도록 입력.

member=list(sys.stdin.readline().rstrip('\n'))

 

입력 예제 2:

1 2 3

띄어쓰기가 포함된 숫자열이 한줄에 입력 될때, 변수 만큼 저장

a, b, c = map(int, sys.stdin.readline().split())

 

입력 예제 3:

3 3
abc
def
ghi

행과 열의 값을 입력 받고, 이어져있는 2차원 문자가 입력 될때 사용

# n 은 행의 개수
mp=list(list(sys.stdin.readline().split('\n')[0]) for _ in range(n)) 

 

입력 예제 4:

3 3
123
123
123

 # m은 행의 개수
number = [list(map(int,list(input().rstrip()))) for _ in range(m)]

 

입력 예제 5:

3 3
1 2 3
1 2 3
1 2 3

# n이 행의 개수
mp=[list(map(int, sys.stdin.readline().split())) for _ in range(n)]