본문 바로가기
파이썬(Python)/파이썬 : Baekjoon

[백준] 파이썬(Python) : 빠른 A + B (15552번)

by TODAYCODE 2021. 9. 15.
반응형

백준 단계별로 풀어보기 3단계 for문 4번문제

 

15552번: 빠른 A+B

첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.

www.acmicpc.net

문제의 핵심

1. sys.stdin.readline() 사용하기

2. sys를 사용해서 입력받을 때 주의할 점


 

파이썬에서 사용자의 입력을 받는 방법은 Input()이 존재하지만,

Input()이 입력을 받아오는 방식은 속도가 느린 편이다.

 

따라서, 문제를 풀때 주어지는 시간이 짧은 경우 Input()보다 더 빠른 방식으로 사용자의 입력을 받아와야한다.

이럴때 사용하는 것이 sys.stdin.readline()이다.

 

파이썬에서 기본적으로 사용할 수는 없고

import sys 를 입력해서 사용할 수 있다.

 

sys.stdin.readline()을 통해서 입력을 받아올 수 있는데 사용자의 엔터까지 입력을 받아버려서

끝에 공백이 발생된 상태로 입력을 받게된다.

이것때문에 간혹 예상하지 못한 오류가 발생하기도 하므로,

뒤에 strip()을 사용해서 공백을 제거하는 버릇을 들여놓는것이 도움이 될 수도 있다.

 

아무튼 입력을 이런식으로 받게되면 시간초과가 발생하지 않고 문제를 해결할 수 있을 것이다.

 

정답 코드

import sys

T = int(sys.stdin.readline().strip())
for i in range(T):
    a, b = map(int, sys.stdin.readline().strip().split())
    print(a+b)
반응형

댓글