sys.stdin.readline() vs input()

김민영·2023년 2월 4일
0

Python

목록 보기
3/3
  • 많은 입력이 주어지는 알고리즘 문제를 풀 때
    • input()을 사용해서 입력을 받으면 시간 초과가 나고, sys.stdin.readline()을 사용하면 시간이 절약된다.
  • Java로 치면 Scanner와 Buffered라고 볼 수 있다.

input()

  • 사용자로부터 입력을 받는 함수
  • 문자열 타입으로 반환한다.

sys.stdin.readline() 이 더 빠른 이유

  • 파이썬은 기본적으로 동적 타입 변수를 사용한다.
    • C언어나 Java는 변수를 선언할 때, 자료형을 지정하므로 계산 과정에서 자료형을 판단하는 처리 과정이 필요하지 않다.
    • 파이썬은 변수를 선언할 때, 자료형을 지정하지 않는다. 계산 과정에서 자료형을 판단하는 과정이 필요하다
  • input() 한 글자씩 버퍼에 담고, 문자열로 변환하기 때문에 느리다.
  • sys.stdin.readline() 은 문자열을 한 번에 입력받아 처리를 하므로 빠르다.
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글