알고리즘 공부
자료 구조 공부
알고리즘에서 데이터 입/출력 받기
입력방식
파일로 입력받기
•
sys 모듈 import
•
표준 입력을 파일 읽기로 설정
import sys
sys.stdin = open('input.txt', 'r')
Python
복사
데이터를 입력받아 정수로 변환
•
input() : 데이터를 한 줄로 입력
•
int() : 정수로 변환
N = int(input())
print(N)
Python
복사
데이터를 입력받고 공백으로 구분된 문자를 입력받기
•
input().split(구분문자) : 데이터를 한 줄로 읽고 구분 문자로 나눠서 문자로 이루어진 리스트로 받음
print(input().split())
Python
복사
데이터를 입력받고 공백으로 구분된 문자를 정수로 반환
•
map(데이터 형식, 리스트) : 여러개의 데이터를 형식에 맞춰서 다른 형태로 변환
N, M = map(int, input().split())
print(N, M)
Python
복사
리스트에 있는 요소의 개수에 맞춰서 변수의 개수를 만들어줘야 함
1차원 배열(리스트) 입력받기
입력 데이터가 여러 개이거나 미리 알 수 없는 경우에 사용
•
map(int, input().split()) : 한 줄 입력받아 공백으로 나눈 문자열 리스트를 int형으로 변환
•
list() : 데이터들을 리스트로 묶음
arr = list(map(int, input().split()))
Python
복사
이어진 숫자를 한자리씩 나눠서 리스트에 저장 : 문자열 리스트로 저장
•
input() : 한 줄을 읽어옴(구분 문자는 없음 / 문자열로 읽어들임)
print(input()) # 한 줄을 입력받아 그대로 출력
arr = list(input()) # 한 줄을 입력받아 리스트 함수를 적용 -> 문자열 리스트로 변환
Python
복사
이어진 숫자를 한자리씩 나눠서 리스트에 저장 : 숫자형 리스트로 저장
arr = list(map(int, input()))
Python
복사
N행으로 이루어진 2차원 배열 입력받기
•
리스트 안에 리스트를 생성하면 반복문을 사용할 수 있음
•
arr = [반복내용 for _ in range(반복횟수)]
N = int(input())
arr = [list(map(int, input().split())) for _ in range(N)]
Python
복사
데이터 입력 부분에서 시간초과가 발생하지 않게 하는 방법
•
Standard Input
그냥 input() 보다는 sys 라이브러리에서 제공하는 sys.stdin.readline() 을 사용하자.
readline은 개행문자(\n)까지 받아오기 때문에 이를 제거 e하려면 strip() 함수를 추가로 실행해주자.