코딩 테스트/Python

백준, Python) 15552, 10951

나무늘보섬 2025. 4. 7. 18:12

15552

sys를 쓰는 문제

 

import sys
 
N = int(input())
for i in range(N):
        a,b = map(int, sys.stdin.readline().split())
        print(a+b)

 

input 대신 sys.stdin.readline()을 활용하는 문제 

sys.stdin.readline()은 1줄씩 읽어들이고, \n과 같은 개행문자까지 입력을 받음.

그렇기 때문에 strip()이나 rstrip()을 이용해 개행문자를 없애줌.(right strip->rstrip())

 

split() 대신 strip()을 사용하다 틀린 결과

strip()

-> 문자열이 반환됨. 

그렇기 때문에 map(int, "3 5")이 시행될 경우, 변환이 안됨

 

(3과 5는 임의로 입력된 값이라고 가정)

 

split() 

-> 리스트가 반환 

리스트에 있는 요소가 하나씩 int로 변환됨.

그래서 print(a+b)가 반환 가능!

 


10951

while True:
    try:
        a, b = map(int, input().split())
        print(a + b)
    except EOFError:
        break

 

 

EOF 처리와 관련된 문제

EOF 없이 

while True: 만 썼더니 런타임 에러 발생

-> 예외처리를 해야함. 문제에 그런 말이 없어서 찾아봐야 했음...