100세까지 코딩
[백준] 15552번 빠른 A + B (파이썬) + 입력 받기(sys.stdin.readline) 본문
문제
나의 생각
- 문제에서도 말했듯이 입출력 방식이 느리면 여러 줄을 입력받을때 시간초과가 날 수 있다.
- 파이썬 사용자는 sys.stdin.readline()을 사용하자.
나의 풀이
import sys
T = int(input())
for _ in range(T):
a,b = map(int,sys.stdin.readline().split())
print(a+b)
참고
1. input과 sys.stdin.readline의 차이점
input() | sys.stdin.readline() |
1. 입력받은 값의 개행 문자를 삭제시켜 받아온다. (속도 저하) 2. 매개변수로 문자열을 받아 Console에 출력한다. (속도 저하) |
1. 개행 문자를 포함한 값을 받아온다. (속도 빠름) |
2. sys.stdin.readline 개행 문자 없애는 방법
1. 정수형(int)으로 받아서 '\n' 개행 문자를 받지 못하게 하기.
import sys
a = int(sys.stdin.readline())
2. 개행 문자를 제거해주는 함수 사용. ex : strip() -양쪽 제거 , lstrip() -왼쪽 제거, rstrip() -오른쪽 제거
import sys
a = sys.stdin.readline().strip()
3. sys.stdin.readline 사용법
1. 정해진 개수의 정수를 한줄에 입력받을 때
import sys
a,b,c = map(int,sys.stdin.readline().split())
2. 임의의 개수의 정수를 한줄에 입력받아 리스트에 저장
import sys
data = list(map(int,sys.stdin.readline().split()))
3. 임의의 개수의 정수를 n줄 입력받아 2차원 리스트에 저장
import sys
data = []
n = int(sys.stdin.readline())
for i in range(n):
data.append(list(map(int,sys.stdin.readline().split())))
4. 문자열 n줄을 입력받아 리스트에 저장
import sys
n = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range(n)]
'코딩테스트 > 파이썬' 카테고리의 다른 글
[백준] 10807번 개수 세기 (파이썬) (0) | 2024.01.07 |
---|---|
[백준] 10951번 A+B (파이썬) + 예외 처리 (0) | 2024.01.07 |
[백준] 25314번 코딩은 체육과목 입니다 (파이썬) (0) | 2024.01.07 |
[백준] 2739 구구단 (파이썬) + 파이썬 포맷팅 (0) | 2024.01.06 |
[백준] 2480번 주사위 세개 (파이썬) (0) | 2024.01.06 |