본문 바로가기

cs,코딩,알고리즘/알고리즘 공부

파이썬 입력 이슈

728x90

문제 풀기 싫어서 그만좀 찾아보자라는 마음으로 정리해보긔,,

민예지 공부하는 척 오진다야

‼️ input()대신 sys.stdin.readline()을 사용하는 이유

한 두줄 입력받는 문제들과 다르게, 반복문으로 여러줄을 입력 받아야 할 때는 input()으로 입력 받는다면 시간초과가 발생할 수 있다.

 

import sys 했다 치고

 

🔅하나의 정수 입력받기

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

 

🔅한 줄에 특정 정수의 갯수 입력받기

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

map(변환함수, 데이터) 은 반복 가능한 객체(리스트 등)에 대해 각각의 요소들을 지정된 함수로 처리해주는 함수

split()아무 값도 넣어주지 않으면 공백(스페이스, 탭, 엔터 등)을 기준으로 나누는 함수

 

🔅원하는 갯수만큼 리스트로 받기

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

리스트를 만들어서 하나하나씩 추가해주는 것보다 입력 다받고 냅다 자료형을 리스트형으로 바꿔주는 것이 훨씬 빠르다.

 

🔅(for 코테 일단 외웡) 문자열 n줄을 입력받아 리스트에 저장할 때

n = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range(n)]

strip()은 문자열 맨 앞과 맨 끝의 공백문자를 제거해줌