[Python][백준 15552] 빠른 A+B

Date:     Updated:

카테고리:

태그:

⚡ 빠른 A+B 문제 풀이

백준 15552번 빠른 A+B 문제의 파이썬 풀이

📝 문제 설명

본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다.

Python에서는 input 대신 sys.stdin.readline을 사용해야한다. 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 .strip()을 추가로 해 주는 것이 좋다.

💡 풀이

이 문제는 입출력 최적화가 핵심이다. Python의 기본 input() 함수 대신 sys.stdin.readline()을 사용하여 입력 속도를 크게 향상시킬 수 있다.

🔍 코드 설명

  1. sys 모듈을 import한다.
  2. 테스트 케이스의 개수 t를 입력받는다.
  3. t번 반복하면서:
    • 두 정수 A와 B를 입력받는다.
    • A + B의 결과를 출력한다.

✨ 참고

  • sys.stdin.readline()input()보다 훨씬 빠른 입력 방식이다.
  • .strip()은 문자열 양끝의 공백과 개행문자를 제거한다.
  • 많은 양의 입출력이 필요한 문제에서는 이 방식을 사용하는 것이 좋다.
  • 백준에서는 제출 시 PyPy3를 사용하면 문제를 더 빨리 풀 수 있다. 물론 Python3도 가능하다. C++이 더 빠르다.

Image


📝 코드

import sys

t = int(sys.stdin.readline().strip())

for _ in range(t):
    a, b = map(int, sys.stdin.readline().strip().split())
    print(a + b)
import sys

t = int(sys.stdin.readline().strip())

results = []
for _ in range(t):
    a, b = map(int, sys.stdin.readline().split())
    results.append(a + b)

sys.stdout.write('\n'.join(map(str, results)))

Python Coding Test 카테고리 내 다른 글 보러가기