[백준] 15552번(sys.stdin.readline과 rstrip을 활용한 입력 받기)

·2022년 9월 20일

백준 문제풀이

목록 보기
2/159

https://www.acmicpc.net/problem/15552

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

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

출력
각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다.


✔ 정답(입력에 input 사용)

total_num = int(input())
sum = []

for i in range(total_num):
  a, b = map(int, input().split())
  sum.append(a+b)

for j in range(total_num):
  print(sum[j])

✔ 정답(입력에 sys.stdin.readline 사용)

import sys

input = sys.stdin.readline

total_num = int(input())
sum = []

for i in range(total_num):
  a, b = map(int, input().split())
  sum.append(a+b)

for j in range(total_num):
  print(sum[j])

📌 strip(), lstrip(), rstrip() 알아보기

  • strip() : 양쪽 문자열 공백이나, 인수로 받은 문자열의 모든 조합을 제거
  • lstrip() : 왼쪽 문자열 공백이나, 인수로 받은 문자열의 모든 조합을 제거
  • rstrip() : 오른쪽 문자열 공백이나, 인수로 받은 문자열의 모든 조합을 제거
  • 이때 문자열 조합은 부분집합의 개념과 유사(순서는 상관 없음!)

📌 sys.stdin.readline() 개념 알아보기

  • input()sys.stdin.readline()은 기능은 유사하지만 속도에 차이가 있다
  • 제한시간이 있는 문제를 풀 때 sys.stdin.readline()를 사용해주는 것이 유리
  • input = sys.stdin.readline을 선언해주면 sys.stdin.readlineinput 함수처럼 사용 가능하다
  • 이 함수는 맨 끝에 있는 개행문자까지 문자열에 저장해주기 때문에 저장할 때 rstrip()을 함께 활용해주면 좋다
profile
백엔드 개발자가 되고 싶어요(22.8.15~)

0개의 댓글