보통 백준에서 알고리즘 공부를 하다보면 입력을 넣어줘야하는 코드를 작성해야한다.
(프로그래머스에선 그런거 필요없는데....)
여튼 그래서 보통 input()을 쓰거나
a,b=map(int, input().split())
을 써서 받은 string값을 정수인 int값으로 바꿔주었다.
그러다가 유용한게 있어서 적어놓는다.
input대신 sys.stdin.readline()을 하면 시간초과를 줄여줄 수 있다.
안그래도 다른 언어에 비해 속도가 낮은 파이썬이라 시간초과가 많이 나는데 이 정보는 유용하다.
import sys
T=int(sys.stdin.readline())# strip은 문자열의 앞뒤에 있는 공백문자들을 제거해준다.
for i in range(T):
a,b=map(int, sys.stdin.readline().split())
print(a+b)
readline()에는 마지막에 엔터까지 들어간다.
3을 입력받을 시 '3\n' 문자열이 생성된다.
그래서 이 \n을 없애줄때 strip()을 추가해주면 된다. sys.stdin.readline().strip()
또는 split을 해서 공백이 포함된 문자열을 쪼개서 변수안에 넣을 수 있다.
'3 5\n'인 문자열을 a=3, b=5로 넣어줄 수 있는 방법이다.
특히 readline은 여러번 중복해서 넣는 for문에 빠르다.
import sys
T=5
lst=[sys.stdin.readline().strip() for i in range(T)]
#이러면 입력한 5개의 문자열들이 엔터를 치는 순번대로 lst란 리스트에 들어가게 된다.
'알고리즘 > 함수 in python' 카테고리의 다른 글
from itertools import 순열, 조합, 곱집합, 중복조합 in python (0) | 2021.11.02 |
---|---|
[백준 2108번] (Counter)통계학(평균, 중앙값, 최빈값, 범위) in python (0) | 2021.11.01 |
int형 숫자를 0을 앞에 붙인 문자열로 변경 in python (0) | 2021.10.27 |
문자열 내부 공백 제거 in python (0) | 2021.10.26 |
python 딕셔너리 - items, values, 정렬 (0) | 2021.09.01 |
댓글