Learn to share,Share to learn

파이썬의 대규모 입출력 sys 본문

알고리즘

파이썬의 대규모 입출력 sys

Rogue One 2024. 1. 19. 11:40

백준에서 파이썬으로 풀다보면 종종 생기는 문제점이다. 

입력값이 너무 크면 단순히 input()으로 받는것은 시간초과를 유발하곤 한다.

이럴때 사용하는것이 sys

 

1. sys.stdin.readline()

이것은 표준 입력 으로부터 한줄을 읽어오는 함수이다. 기본적으로 input()보다 빠르게 작동하기 때문에, 많은양의 데이터를 빠르게 받을때 주로 사용한다.

 

2. .rstrip()

readline()은 끝에 개행문자(즉, \n)을 포함하여 문자열을 읽어오는데, rstrip()을 이용하여 이 개행문자를 제거할수 있다.

line = sys.stdin.readline().rstrip()

3. split()

이 메서드는 문자열을 분리하여 리스트를 생성한다. 기본적으로 공백을 기준으로 분리하는데 여기까지는 기존에 알던 지식과 같고, 다른 구분자를 지정할수도 있다. 예를들어, data = "a,b,c,d".split(',')라고 한다면, ['a','b'..]가 되는식

data = "one,two,three".split(',')
# ['one', 'two', 'three']

 

4. strip()

문자열의 시작과 끝에서 공백이나 다른 문자를 제거한다.

text = "  Hello World  ".strip()
# 'Hello World'

 

5.splitlines()

여러 줄로 이루어진 문자열을 각 줄 별로 분리한다

lines = "First line\nSecond line".splitlines()
# ['First line', 'Second line']

 

6. join()

요부분도 가끔 봤던 부분인데, 문자열의 리스트를 하나의 문자열로 결합한다

words = ['Hello', 'World']
sentence = ' '.join(words)
# 'Hello World'

 

다른 블로그도 참고하자

https://velog.io/@yeseolee/Python-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9E%85%EB%A0%A5-%EC%A0%95%EB%A6%ACsys.stdin.readline

'알고리즘' 카테고리의 다른 글

DFS,BFS  (2) 2024.01.25
람다, 그리고 sorted와 split  (1) 2024.01.24
1269 집합의 사용  (0) 2024.01.18
1764 집합 응용, get, isdigit 사용법  (0) 2024.01.18
특정값 존재여부 비교 - list와 set를 중심으로  (0) 2024.01.17