정답
# 15552 빠른 A+B
import sys
T = int(input())
for tc in range(1, T+1):
a, b = map(int, sys.stdin.readline().rstrip().split())
print(a+b)
sys를 사용해 많은 양의 입력을 빠르게 받는 방법이다.
사실 이제껏 sys.stdin = open('input.txt', 'r') 이런 식으로 테스트케이스를 받을 때 사용했는데, 정작 왜 sys.stdin이 빠른지 잘 몰랐다. 그래서 오늘 이 문제 풀면서 input()과 sys.stdin의 차이를 비교한 글을 다시 한번 찾아보았다.
input()은 파이썬 내장함수이고, 입력값의 개행문자를 벗겨내 문자열로 변환해 return하는 과정을 거친다.
반면, sys.stdin은 입력만 받는 buffer을 만들어 그대로 모든 입력값을 문자열 단위로 저장했다가 출력해주는 것이므로 훨씬 빠르다. 하지만 sys.stdin.readline을 할 때 개행문자 역시 그대로 출력되기 때문에, 개행문자 없이 저장하려면 rstrip() 함수를 써줘야 한다.
'개발 공부 > 알고리즘 문제풀이' 카테고리의 다른 글
[백준] 2439. 별 찍기 - 2 (0) | 2022.07.14 |
---|---|
[백준] 2742 기찍 N, 11021 A+B-7, 2438 별 찍기 - 1 (0) | 2022.07.14 |
[백준] 2739 구구단, 10950 A+B_3, 8393 합 (0) | 2022.07.13 |
[백준] 2480. 주사위 세개 (0) | 2022.07.13 |
[백준] 2525. 오븐 시계 (0) | 2022.07.13 |