우당탕탕 개발일지

[알고리즘 문제 꿀팁] 입력값 간단하게 받는 방법 본문

알고리즘

[알고리즘 문제 꿀팁] 입력값 간단하게 받는 방법

민아당긴아 2023. 11. 1. 14:11

맨날 input(), input().split()만 쓰다가,

뭔가 더 간편하고 속도도 빠른 방법은 없을지 찾아보았다.

[상황 1] 한 줄에 여러 값을 int타입으로 받고, 이를 리스트로 저장하는 상황

  • 사용할 함수: input(), split(), map(), list()
n = list(map(int, input().split()))
n
# [3, 6, 9, 12, 15]

[상황 2] 여러 줄에 걸쳐 여러 값을 int타입으로 받고, 이를 리스트로 저장하는 상황

  • import sys
  • sys.stdin.read().splitlines()로 줄별로 입력값을 읽어온다.
  • 그리고 그 값을 리스트에 넣는다.
import sys
data = sys.stdin.read().splitlines()

[추가] input() 대신에 sys.stdin.readline() 사용하면 속도가 더 빠름

반복문으로 여러 줄을 입력받는 상황에서는 sys.stdin.readline()을 사용해야 시간초과가 발생하지 않는다.