본문 바로가기
Language/Python

[Python] sys.stdin.readline 입력 받기

by 애기 개발자 2022. 9. 30.
반응형

2022.09.29 - [Algorithm/백준] - [Python] 백준 10989번 - 수 정렬하기 3

 

[Python] 백준 10989번 - 수 정렬하기 3

문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수

baby-dev.tistory.com

 

이 문제를 풀면서 sys.stdin.readline() 기능에 대해서 알아둘 필요가 있다고 생각하여 공부하게 되었다.

 

사용법

1. 한 개의 정수 입력

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

 

2. 간격 있는 정수 여러개

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

기존에 알던 map(int, input().split()) 과 다를게 없다.

 

3. 리스트에 입력받기

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

마찬가지로 기존의 list(map(int, input().split())) 과 동일하다.

 

주의할 점

sys.stdin.readline()은 한 줄 단위로 입력을 받는다.

 

그러므로 우리 눈에는 보이지 않는 개행 문자가 같이 입력받아진다.

 

예를 들어 10을 입력하면 10\n 으로 저장이 된다.

 

앞서 예시들은 전부 int() 로 묶어서 str 형을 int 형으로 바꿔 주었지만

 

str형 그대로 사용한다면 필요에 따라 개행 문자를 제거해 줘야 한다.

 

이때 strip()은 문자열의 맨 앞과 맨 끝의 공백, 개행을 제거해준다.

 

s = sys.stdin.readline().strip()

반응형

댓글