728x90
https://www.acmicpc.net/problem/15552
풀이)
T = int(input())for i in range(T):
a, b = map(int, input().split())
print(a+b)
이렇게 풀면 답은 도출이 가능하다. 문제가 원하는 답이 아니여서 타임 오류가 난다. 그래서 문제가 원하는 풀이를 하면 아래의 풀이가 된다.
import sys #모듈을 읽어 들이겠다.
T=int(sys.stdin.readline()) #T=int(input())도 가능함
for i in range(T):
a, b=map(int, sys.stdin.readline().split())
print(a+b)
이 풀이를 이해하기 위해서는 백준 15552번의 문제에 대한 설명을 인용을 해보자면,
Python을 사용하고 있다면, input 대신 sys.stdin.readline을 사용할 수 있다. 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 .rstrip()을 추가로 해 주는 것이 좋다.
sys모듈은 시스템과 관련된 정보를 가지고 있는 모듈로, sys을 import 해야 sys.stdin.readline을 사용할(읽어들일) 수 있기 때문에 꼭 필요하다.
그 다음은 위에처럼 input()자리에 대신해서 sys.stdin.readline을 넣어주면 된다.
위의 인용처럼 sys.stdin.readline은 공백까지 문자열에 포함시키기 때문에, ↑위에 코드는 공백으로 인한 오류가 발생할 확률이 높다.
그러므로, ↓아래의 코드처럼
import sys #모듈을 읽어 들이겠다.
T=int(sys.stdin.readline()) #T=int(input())도 가능함
for i in range(T):
a, b=map(int, sys.stdin.readline().rstrip().split())
print(a+b)
오른쪽끝의 문자만 삭제해주는 rstrip()을 통해 공백을 지워줄 수 있도록 만들어 주는 것이 좋다.
728x90
'프로그래밍 > Python(파이썬)' 카테고리의 다른 글
[백준] 2742: 기찍 N-python[파이썬] (0) | 2022.03.25 |
---|---|
[백준] 2741: N찍기-python[파이썬] (0) | 2022.03.24 |
[백준] 8393: 합-python[파이썬] (0) | 2022.03.24 |
[백준] 10950: A+B-3 -python[파이썬] (0) | 2022.03.24 |
[백준] 2739: 구구단-python[파이썬] (0) | 2022.03.24 |