[Python] 파이썬 입출력 정리 (for 코테)

Sungjin Cho·2024년 3월 14일
0

Algorithm

목록 보기
8/15
post-thumbnail

파이썬 입출력 정리


최근에 알고리즘 문제를 풀 때 프로그래머스로만 풀었더니 입출력 하는게 너무 귀찮아서 정리해보았다.

파이썬 입출력 정리

한 줄을 읽어서 정수로 변환

  • input() : 한줄을 읽어옴
  • int() : 정수로 변환
N = int(input())

한 줄을 읽고 공백으로 구분된 문자 입력 받기

  • input().split(구분 문자) : 한줄을 읽고 구분 문자로 나눠서 문자로 이뤄진 리스트로 입력 받는다.
n = input().split()
# a b c 를 입력했을 때 ['a', 'b', 'c'] 형태의 리스트로 저장

한 줄을 읽고 공백으로 구분된 문자를 정수로 저장

  • map(형식,리스트) : 리스트에 있는 데이터를 형식에 맞춰 변환

리스트로 받은걸 정수로 매핑한다 → 세 개를 변환하려면 3개의 변수 필요

아래 경우는 하나의 공백만 입력 받을 수 있다.

N,M = map(int,input().split())
# 1 2	#입력
print(N,M)
# 1 2	#출력

1차원 배열 입력 받기

입력 데이터가 여러개이거나 몇개인지 미리 알 수 없는 경우?

arr = list(map(int,input().split()))
>>> 1 2 3 4 5	#입력
print(arr)
[1, 2, 3, 4, 5] #숫자형 리스트로 입력을 받아 arr변수에 저장됨

이어진 숫자를 한자리씩 나눠 리스트에 저장 (문자열 리스트로 저장)

  • input(): 한줄을 읽어옴 (구분 문자 없이, 문자열로)
print(input())		#한줄을 입력받아 그대로 출력
>>> 12345			#입력
12345				#하나의 문자열로 출력됨

arr = list(input())	#한줄을 입력받아서 list함수로 감싸면?
>>> 12345			#입력
print(arr)
['1', '2', '3', '4', '5']	#문자 하나씩을 리스트로 변환함

N행으로 이루어진 2차원 배열 입력

몇 행인지는 알아야 한다.

N = int(input())	#행 정보 입력받기
>>> 3				#입력

#리스트 내포를 이용하여 N번 반복하며 한줄읽고 공백문자로 나눠서 숫자형으로 변환하고
#리스트(1차원배열)로 만들어 2차원 배열로 완성
arr = [list(map(int,input().split())) for _ in range(N)]	
>>> 1 2 3		#공백으로 구분되어서 총 3행이 입력됨
>>> 4 5 6
>>> 7 8 9
print(arr)
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]	#출력하면 2차원리스트로 입력된 것 확인됨

0개의 댓글