[백준 15552번-파이썬/Python] 빠른 A+B
알고리즘 공부/BOJ백준 풀이

[백준 15552번-파이썬/Python] 빠른 A+B

http://acmicpc.net/problem/15552

{코드}

import sys.stdin.readline
input = sys.stdin.readline
for _ in range(int(input()):
	print(sum(map(int, input().split()))

{설명}

이 문제의 설명을 보면 입출력이 느리면 시간 초과가 날 수 있다고 명시되어 있습니다.

그리고 파이썬으로는 기본 함수인 input보다는 sys 라이브러리의 sys.stdin.readline 함수를 사용하는 것을 추천한다고 되어있습니다.

그러면 왜 input 대신 저 긴 함수를 쓰라고 할까요? 당연하지만 저 긴 함수가 더 빠르게 처리하기 때문입니다.

간단히 설명하면 input에는 문자열 파라미터를 넣을 수 있는데 이 파라미터를 처리하는데 시간이 필요합니다.

물론 대부분의 상황에서는 별 상관이 없으나 이렇게 많은 입력을 받아야 하는 상황에서는 시간 초과를 유발할 수도 있게 됩니다.

그렇기에 sys.stdin.readline 함수를 사용하게 되는데, 이때 또 확인해야 할 것은 rstrip 함수입니다.

기본적으로 sys.stdin.readline은 문자열을 반환할 때 마지막에 누른 엔터(Enter)도 저장합니다. 그래서 뒤에 '\n'이 붙어있죠.

하지만 이 문제에서는 rstrip을 실행할 필요가 없습니다.

왜냐하면 int함수는 숫자들 뒤에 이스케이프 문자(이 경우에는 줄 바꿈 문자)가 있어도 무시하고 변환시켜주기 때문입니다.

*파이썬에서는 함수를 변수에 지정할 수 있고 이미 있는 함수를 덮어씌울 수 있습니다.