import sys
sys.setrecursionlimit('숫자')
input()
이 느린 이유
1. 매개변수로 prompt message 를 입력 받음
2. 입력받은 값의 개행 문자를 삭제시키고 반환
sys.stdin.readline() 의 장점
- 문자열로 입력받음
- 개행 문자 "\n" 을 같이 입력받음
- input("Hello, World!")
>>> Hello, World!
- sys.stdin.readline("Hello, World!")
>>> Hello, World!\n
import sys
num = int(sys.stdin.readline()) # 5 입력
print(num)
>>> result <<<
5
import sys
# 입력 : Hello, World!
s1 = sys.stdin.readline().strip()
s2 = sys.stdin.readline().strip('\n')
s3 = sys.stdin.readline().rsrtip('\n')
print(s1)
print(s2)
print(s3)
>>> result <<<
Hello, World!
Hello, World!
Hello, World!
strip()
을 이용하여 개행 문자 없이 문자열 입력 가능
- 양 옆의 \n(개행) 혹은 \t(공백) 를 제거
rstrip()
은 오른쪽의 공백이나 개행 문자를 삭제
import sys
input = sys.stdin.readline
strings = input().split() # he l l o 입력
n, m = map(input().split()) # 5 4 입력
print(strings)
print(n, m)
>>> result <<<
['he', 'l', 'l', 'o']
5, 4
readline().split()
은 리스트 반환
import sys
input = sys.stdin.readline
# 입력
# 4 3
# 1 0 0
# 0 1 0
# 0 0 1
# 1 1 1
rows, cols = map(int, input().split())
----------------------------------------------------------------------
### 입력 방식 1
matrix = []
for r in range(rows):
matrix.append(list(map(int, input.split())))
----------------------------------------------------------------------
### 입력 방식 2
matrix = [ list (map(int, input().split())) for r in range(rows) ]
----------------------------------------------------------------------
print(matrix)
>>> result <<<
# 둘 다 동일한 결과
[[1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 1, 1]]
import sys
input = sys.stdin.readline
# 입력
# 4 3
# 100
# 010
# 001
# 111
rows, cols = map(int, input().split())
----------------------------------------------------------------------
### 입력 방식 1
matrix = []
for r in range(rows):
matrix.append(list(map(int, list(input().strip()))))
----------------------------------------------------------------------
### 입력 방식 2
matrix = [ [int(i) for i in input().strip()] for r in range(rows) ]
----------------------------------------------------------------------
print(matrix)
>>> result <<<
[[1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 1, 1]]
import sys
input = sys.stdin.readline
rows, cols = map(int, input().split())
----------------------------------------------------------------------
### 입력 방식 1
matrix = [[0]] * rows # 우선적으로 초기화
for r in range(rows):
matrix[r] = input().strip()
----------------------------------------------------------------------
### 입력 방식 2
matrix = [input().strip() for r in range(rows)]
----------------------------------------------------------------------
print(matrix)
>>> result <<<
# 둘 다 동일한 결과
['100', '010', '001', '111']
import sys
input = sys.stdin.readline
rows, cols = map(int, sys.stdin.readline().split())
----------------------------------------------------------------------
### 입력 방식 1
matrix = [] # 우선적으로 선언
for r in range(rows):
matrix.append(list(input().split()))
----------------------------------------------------------------------
### 입력 방식 2
rows, cols = map(int, input().split())
matrix = [[i for i in input().split()] for r in range(rows)]
----------------------------------------------------------------------
print(matrix)
>>> result <<<
# 둘 다 동일한 결과
[['100'], ['010'], ['001'], ['111']]
import sys
input = sys.stdin.readline
# 입력
# 3
# Hello
# I Love You
# My name is World
N = int(input())
----------------------------------------------------------------------
### 입력 방식 1
arr = []
for i in range(N):
arr.append(input().strip())
----------------------------------------------------------------------
### 입력 방식 2
arr = [ input().strip() for i in range(N) ]
----------------------------------------------------------------------
print(arr)
>>> result <<<
# 둘 다 동일한 결과
['Hello', 'I Love You', 'My name is World']
import sys
input = sys.stdin.readline
# 입력
# 3
# Hello
# I Love You
# My name is World
N = int(input())
----------------------------------------------------------------------
### 입력 방식 1
arr = []
for i in range(N):
arr.append(list(input()))
----------------------------------------------------------------------
### 입력 방식 2
arr = [list(input().strip()) for _ in range( N )]
----------------------------------------------------------------------
print(arr)
>>> result <<<
# 둘 다 동일한 결과
[
['H', 'e', 'l', 'l', 'o', '\n'],
['I', ' ', 'L', 'o', 'v', 'e', ' ', 'Y', 'o', 'u', '\n'],
['M', 'y', ' ', 'n', 'a', 'm', 'e', ' ', 'i', 's', ' ', 'W', 'o', 'r', 'l', 'd', '\n']
]