풀이 과정
우선 주어진 sys.stdin.readline() 함수에 대한 이해가 필요하였다.
- input()과 sys.stdin.readline()의 차이
input():
The input() function allows user input. If the prompt argument is present, it is written to standard output without a trailing newline. The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that. When EOF is read, EOFError is raised.
input은 간단히 얘기하면 유저의 입력 인자를 받아들이도록 하는 함수이며, 한 줄을 읽고 *개행 없이 문자열로 변한 후 값을 리턴한다.
input은 escape character (e.g. \n, \t)를 읽을 수 없다.
*개행은 새로 행을 열어주는 줄바꿈 정도로 이해하면 될 것이다. (\n)
sys.stdin.readline(): Stdin stands for standard input which is a stream from which the program read its input data. This method is slightly different from the input() method as it also reads the escape character entered by the user. More this method also provides the parameter for the size i.e. how many characters it can read at a time.
readline은 간단히 정해진 사이즈의 파라미터를 제공하고 이를 통해 읽어 온다. 예를 들어 한번에 읽을 수 있는 글자 수 등..
문자열 출력 시 개행을 읽어올 수 있다.
import sys를 통해 sys library에서 sys.xxx 함수를 가져올 수 있도록 활용하였다.
import sys
a=sys.stdin.readline()
for n in range(int(a)):
if n != int(a):
c,d=map(int,sys.stdin.readline().split())
print(c+d)
else:
c,d=map(int,sys.stdin.readline())
Point 1: import sys - sys library 가져오기.
해당 library를 가져와야 sys.xxx 함수를 사용할 수 있다.
Point 2: for문과 if문 세우기.
입력 받은 테스트 케이스 수 만큼 연산을 돌려야하며, 마지막 테스트케이스에서 종료 해 주어야 한다.
sys.stdin.readline()은 input() 함수와 마찬가지로 string 문자열을 리턴하기 때문에 int()로 감싸줘야한다.
오답 노트
import sys
a=sys.stdin.readline()
for n in range(int(a)):
if n != int(a-1): #<- 오답 발생한 부분
c,d=map(int,sys.stdin.readline())
print(c+d)
else:
c,d=map(int,sys.stdin.readline())
어차피 숫자 개수이므로 int(a-1)또는 int(a+1)로 변환해 줄 필요가 없다. 또한 위와 같이 작성 시 TypeError: unsupported operand type(s) for -: 'str' and 'int' 발생한다. 이는 int(a-1)에서 int() 함수 내부에 a와 정수 1은 계산될 수 없기 때문이다.
'파이썬 > 파이썬 알고리즘' 카테고리의 다른 글
파이썬 백준 11021번 A+B - 7 (0) | 2021.03.26 |
---|---|
파이썬 백준 2839번 설탕 배달 (0) | 2021.03.26 |
파이썬 코드업 6001번 6001 : [기초-출력] 출력하기01(설명)(py) (0) | 2021.03.26 |
파이썬 백준 10871번 X보다 작은 수 (0) | 2021.03.25 |
파이썬 백준 10952번 A+B - 5 0 0이 들어올 때까지 A+B를 출력하는 문제 (0) | 2021.03.25 |
댓글