본문 바로가기

Coding Test

백준 15552번 - sys.stdin.readline()

문제 : 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B사 주어진다. A와 B는 1이상, 1,000이하이다. 각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력하시오

 

답안 : 반복문으로 여러줄을 입력받는 상황에서는 input()대신 sys.stidin.readline()을 사용해야 시간초과가 발생하지 않음.

import sys

T = int(input())

for i in range(T):
    A, B = map(int, sys.stdin.readline().split())
    print(A+B)

sys.stidin.readline() 사용법

1. 문자열 입력받을 때 - 문자열에 개행문자(\n)가 기본으로 추가됨.

import sys

str = sys.stdin.readline()

2. 한 개의 정수를 입력 받을 때

import sys

a = int(sys.stdin.readline())

3. 정해진 개수의 정수를 한줄에 입력받을 때

import sys

a, b = map(int, sys.stdin.readline().split())

4. 임의의 개수의 정수를 입력받아 리스트에 저장할 때

import sys

data = list(map(int, sys.stdin.readline().split)))

5. 임의의 개수의 정수를 n줄 입력받아 2차원 리스트에 저장할 때

import sys

data = []
n = int(sys.stdin.readline())
for i in range(n):
	data.append(list(map(int, sys.stdin.readline().split())))

6. N줄의 문자열을 입력 받아 리스트에 저장할 때 - strip()은 문자열 맨 앞과 맨 끝의 공백문자를 제거함.

import sys

n = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range(n)]

참고

https://velog.io/@yeseolee/Python-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9E%85%EB%A0%A5-%EC%A0%95%EB%A6%ACsys.stdin.readline

 

[Python 문법] 파이썬 입력 받기(sys.stdin.readline)

파이썬으로 코딩 테스트를 준비한다면, 반드시 알아야 할 입력방식인 sys.stdin.readline()에 대한 정리 입니다.

velog.io

 

'Coding Test' 카테고리의 다른 글

백준 1110번 - while문  (0) 2022.02.19
백준 10951번 - while문 탈출  (0) 2022.02.18
백준 8393, 2741, 2742 - for문  (0) 2022.02.17
백준 2588번 - %, range, list  (0) 2022.02.08
백준 1000번 - split, map함수  (0) 2022.02.06