데이터 입력 받기
파이썬에서 데이터를 입력받을 때는 input() 함수를 사용한다. input() 함수는 한 줄의 문자열을 입력 받도록 해준다.
만약 입력받은 데이터를 정수형 데이터로 처리하기 위해서는 int() 함수로 input() 함수를 감싸서 사용하면 된다.
그리고 여러 개의 데이터를 입력받을 때는 데이터가 공백으로 구분되는 경우가 많다. 그래서 코딩테스트에서는 입력받은 문자열을 띄어쓰기로 구분하여 각각 정수형 데이터로 저장하는 코드의 사용 빈도가 매우 높다. 이때는 list(map(int, input().split()))을 이용하면 된다. map 함수는 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용한다.
list(map(int, input().split()))의 동작 과정을 알아보면 가장 먼저 input() 으로 입력받은 문자열을 split() 을 이용해 공백으로 나눈 리스트로 바꾼 뒤에, map을 이용하여 해당 리스트의 모든 원소에 int() 함수를 적용한다. 최종적으로 그 결과를 리스트로 다시 바꿈으로써 입력받은 문자열을 띄어쓰기로 구분하여 정수형 데이터로 저장하게 되는 것이다. 이 코드는 코테에서 굉장히 많이 사용되므로 반드시 외워야한다.
# 데이터의 개수 입력
n = int(input())
# 각 데이터를 공백으로 구분하여 입력
data = list(map(int,input().split()))
# 데이터를 내림차순으로 출력
data.sort(reverse = True)
print(data)
공백으로 구분된 데이터의 개수가 많지 않다면, 단순히 map(int, input().split())을 이용하는 것도 가능하다.
n,m,k = map(int, input().split())
print(n,m,k)
※ 입력을 최대한 빠르게 받아야 하는 경우
문제를 풀다보면 입력해야할 데이터가 매우 많은 경우에 입력을 받는 것만으로도 시간 초과를 받을 수 있다. 예를 들어 정렬, 이진 탐색, 최단 경로 문제의 경우 매우 많은 수의 데이터의 연속적인 입력이 필요하다. 이 경우 파이썬의 sys 라이브러리에 정의되어 있는 sys.stdin.readline() 함수를 이용한다. sys 라이브러리는 다음과 같은 방식으로 사용하며 input() 함수와 같이 한 줄씩 입력받기 위해 사용한다.
import sys
# 문자열 입력받기
data = sys.stdin.readline().rstrip()
print(data)
더 많은 sys.stdin.readline() 함수의 활용에 대한 포스트를 추후 포스팅하겠다.
출력하기
파이썬에서 출력을 할 때는 print() 함수를 이용하여 출력을 진행할 수 있다. print()는 변수나 상수를 매개변수로 입력받아 이를 표준 출력으로 출력한다. print() 는 각 변수를 콤마로 구분하여 매개변수로 넣을 수 있는데, 이 경우 각 변수가 띄어쓰기로 구분되어 출력된다. 또한 print()는 기본적으로 출력 이후에 줄 바꿈을 수행한다.
a = 1
b = 2
print(a,b)
※ 문자열과 수를 함께 출력해야 되는 경우
문자열과 수를 함께 출력해야 하는 경우 문자열과 수를 단순히 + 로 더하면 오류가 발생한다 (자바의 경우 숫자가 문자열로 자동 형변환이 되면서 가능하다). 이 경우에는 2가지 방법으로 해결할 수 있다.
# str() 함수로 숫자를 문자열로 바꾸어주는 방법
answer = 7
print("정답은 " + str(answer) + "입니다.")
# 각 변수를 콤마로 구분하여 매개변수로 넣는 방법
answer = 7
print("정답은", answer, "입니다.")
각 변수를 콤마로 구분하여 출력하는 경우, 변수 사이에 자동적으로 공백이 삽입되어 출력된다.
또한 Python 3.6 이상의 버전부터 f-string 문법을 사용할 수 있다. f-string은 문자열 앞에 접두사 'f'를 붙임으로써 사용할 수 있다.f-string을 사용하면 단순히 중괄호 안에 변수를 넣음으로써, 자료형의 변환 없이도 간단히 문자열과 숫자를 함께 넣을 수 있다.
answer = 7
print(f"정답은 {answer}입니다.")
참고자료: 이것이 취업을 위한 코딩 테스트다 with 파이썬 - 나동빈 지음(한빛미디어)
'Python > 파이썬 문법' 카테고리의 다른 글
[파이썬 문법] 함수 (0) | 2021.12.29 |
---|---|
[파이썬 문법] 파이썬의 조건문 (0) | 2021.12.28 |
[파이썬 문법] 그 외 다양한 자료형(문자열, 튜플, 사전, 집합) (0) | 2021.12.26 |
[파이썬 문법] 리스트 자료형 (0) | 2021.12.25 |
[파이썬 문법] 수 자료형 (0) | 2021.12.24 |