코딩테스트
Python 빠른 입출력(I/O) sys.stdin.readline(), sys.stdout.write()
Nacho_13
2024. 2. 23. 21:42
반응형
a = input()
입력으로 input() 함수를 사용한다면 문자열을 받아오는 데 시간이 생각보다 많이 소요된다.
입력값이 많은 문제를 만나면 시간초과를 일으키는 경우도 있다...
sys.stdin.readline()
import sys # 아묻따 import 갈겨버리기
a = sys.stdin.readline()
이때 sys.stdin.readline()을 사용하면 된다.
프로그래머스에서 코테 공부를 진행한 나로서는 생소한 함수였는데 에이블스쿨 코딩마스터스에서 처음 만났다.
sys.stdin.readline() 은 개행문자 "\n"을 포함하기 때문에 .strip()로 제거해줘야 한다.
사용법
- 정수 하나를 입력으로 받을 때
import sys
a = int(sys.stdin.readline())
문자열로 형변환하여 사용한다.
- 정수 여러 개를 받아올 때
import sys
a, b, c = map(int, sys.stdin.readline().split("기준"))
map 함수를 사용하여 형변환하여 사용한다.
- 정수형 리스트를 입력으로 받을 때
import sys
sample_list = list(map(int, sys.stdin.readline().split("기준")))
- 정수형 리스트를 n개를 입력으로 받아 2차원 리스트로 만들 때
import sys
n = sys.stdin.readline()
smaple_2D_list = []
for i in range(n):
smaple_2D_list.append(list(map(int,sys.stdin.readline().strip().split("기준"))))
- 문자열을 n개 입력받아 하나의 리스트로 저장할 때
import sys
n = int(sys.stdin.readline())
samplr_list = [sys.stdin.readline().strip() for _ in range(n)]
sys.stdout.write()
import sys
sys.stdout.write('Hello' + '\n')
print 처럼 사용하면 된다. 다만 C의 printf 처럼. 개행문자를 뒤에 직접 붙여준다.
print = sys.stdout.write()
이렇게 사용하면 더 편하다고 한다..
input = sys.stdin.readline()
물론 input도 가능..
반응형