Python sys.stdin.readline() 사용
537
작성한 질문수 1
안녕하세요.
구간합구하기 (백준 11660) 문제를 풀고 있는데요.
코드는 똑같은데, 제일 상단에 아래 코드 입력 여부에 따라 시간초과/성공이 갈립니다.
import sys
input = sys.stdin.readline
이게 실패와 성공을 가를만큼 중요한 역할을 하나요?
위 코드를 넣으면 왜 빨라지는지 설명해주실 수 있으실까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
네, input = sys.stdin.readline 코드는 Python에서 입력을 받는 속도를 향상시켜주는 역할을 합니다.
기본적으로 Python의 input() 함수는 사용자의 입력을 받으면서, 공백문자(예: 줄바꿈)를 제거하는 등의 추가적인 작업을 수행하기 때문에 상대적으로 느릴 수 있습니다.
반면 sys.stdin.readline은 줄바꿈 문자를 포함한 한 줄의 문자열을 빠르게 입력받기 때문에, 많은 양의 데이터를 빠르게 입력받아야 하는 경우 (예: 알고리즘 문제에서의 대량의 데이터 입력)에 훨씬 효율적입니다.
다만, sys.stdin.readline을 사용할 때에는 문자열의 마지막에 줄바꿈 문자가 포함되기 때문에, 이를 제거하기 위해 종종 strip()을 사용해야 할 수 있습니다.
따라서 알고리즘 문제를 풀 때 입출력의 양이 많고 빠른 입출력이 요구되는 경우, input() 대신 sys.stdin.readline을 사용하여 시간 초과를 방지할 수 있습니다.
문제 푸시느라 수고 많으십니다. 질문이 더 있으시면 언제든 질문해주세요.
GROUP BY, HAVING 실습 1번문제
1
5
2
4 - A
0
7
1
11. 데이터를 목록화하는 리스트와 튜플 에서 콘솔 실행시
0
10
1
코딩 테스트 All-in-One(Java)' 강의 노션 교재 권한문의
0
12
1
ZIP 파일
0
16
2
26강 13F 강의 불일치 및 질문 요청
0
20
3
[업로드오류] 강의 내용과 제목 불일치
0
17
2
강의와는 별개로...
0
24
3
태어난김에 세계일주 시간 초과
0
13
1
[예제002] 에서 파인썬 인터프리터가 없습니다
0
20
3
2강에 파일 어디있을까여,,
0
14
2
65강 소리
0
11
1
커리큘럼 중 정렬 관련 질문
0
14
1
작업형2 모의문제1 (30강)
0
18
1
섹션 5 CSS selector사용해서 클로링하기2의 커리큘럼 일정 부재?
0
15
2
코딩살구클럽 입장이 안됩니다
0
46
2
가상환경 초반 에러_create name
0
25
1
안녕하세요 유튜브 보고 재밌을꺼 같아서 강의 결제해서 보고잇습니다.
0
21
2
수강 기간 연장 문의 드립니다.
0
21
1
병합정렬이 홀수개의 숫자에 적용될 경우?
0
114
0
다익스트라와 벨만-포드 차이에서
0
322
2
나머지 합 구하기 핵심 아이디어 문의
0
225
1
17298 오큰수 구하기 질문있습니다.
1
690
2
디버깅에 관한 질문
1
648
1





