😀 Language/- Python

[샛길공부] sys.stdin 과 sys.stdin.readline( )의 차이

또방91 2021. 11. 4. 13:12
728x90

 

 

input( )을 for 반복문에 넣어서 입력을 받을 경우 시간초과의 결과가 발생!!!

https://coding-nurse.tistory.com/7?category=975166 

 

[10989번] 수 정렬하기 3 / python3 (feat. sys.stadin.readline( ))

문제 링크: https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같..

coding-nurse.tistory.com

이렇게 샛길 공부가 시작이 되고 ㅎㅎㅎ

무작정 sys.stdin과 sys.stdin.readline()을 비교해서 쳐본 결과.....

빠밤!


이런 차이가 보였다............! 정리해보자면

  입력 횟수 출력형식
sys.stdin 여러 번 입력 가능 그대로 출력
sys.stdin.readline( ) 한 번 입력 가능 하나하나 한줄씩 출력

 

(( sys는 모듈이기에 당연한거지만 import sys를 먼저 입력해야합니당!😄 ))

(( 왜 계속 오류 물결이 있지..?라고 몇 초동안 생각한 1인.. ㅋㅋㅋㅋㅋ))


 ❗ 먼저 sys.stdin의 경우

1
2
3
4
import sys
 
for i in sys.stdin:
    print(i)
cs

abc를 입력하면 ▶ 똑같이 abc 출력

그다음 계속해서 입력하라고 커서가 깜빡깜빡💥

 

계속해서 여러 번 입력이 가능하기 때문에 그만 멈추려면 Ctrl + Z를 누르면 종료된다!

(터미널에는 ^Z 로 표기 작성이 되어서 보인다.)

 

 

 ❗ 다음 sys.stdin.readline( )의 경우

1
2
3
4
import sys
 
for i in sys.stdin.readline():
    print(i)
cs

abc를 입력하면  

▶ a

    b

    c

 

하나하나 한 줄씩 출력이 된다.

물론 한 번만 입력이 가능하므로 식은 종료가 된 상태이고!

 


 

앞으로 적은 시간과 적은 메모리를 요구하는 input( ) 문제들에 요긴하게 써먹을 것 같당-!

샛길공부 끝!😎

728x90