한 개의 입력 데이터 받기
# 문자열
n = input()
# 정수
n = int(input())
여러 입력 데이터를 리스트로 변환
1) 데이터들이 한 칸 띄어쓰기가 되어있는 경우
- map() : 리스트의 요소를 지정된 함수로 처리해주는 함수이다.
# 문자열
n = list(input().split()) # 입력 : a b c d
print(n) # 출력 : ['a', 'b', 'c', 'd']
# 정수
n = list(map(int,input().split())) # 입력 : 1 2 3 4
print(n) # 출력 : [1, 2, 3, 4]
2) 데이터들이 붙어있는 경우
- 문자열을 list로 형변환하면 각 문자가 원소가 된다.
# 문자열
n = list(input()) # 입력 : abcd
print(n) # 출력 : ['a', 'b', 'c', 'd']
# 정수
n = list(map(int,input())) # 입력 : 1234
print(n) # 출력 : [1, 2, 3, 4]
각 변수로 여러 값 입력받기
n, m, k = map(int, input().split()) # 입력 : 1 2 3
print(n, m, k) # 출력 : 1 2 3
입력 개수가 많은 경우의 입력받기
- input() 함수의 동작 속도가 느리기 때문에 입력 개수가 많은 경우 파이썬의 sys 라이브러리에 정의되어 있는 sys.stdin.readline() 함수를 이용하는 것이 좋다.
- sys 라이브러리를 사용할 때 한 줄 입력을 받고 나서 rstrip() 함수를 꼭 호출해야 한다. readline()으로 입력하면 입력 후 엔터(enter)가 줄 바꿈 기호로 입력되기 때문에 공백 문자를 제거하기 위해 rstrip() 함수를 사용해야 한다.
import sys
n = sys.stdin.readline().rstrip() # 입력 : Hello World
print(n) # 출력 : Hello World
출력시 주의할 점
- 문자열과 수를 더하기 연산자(+)를 이용하여 더하면 오류가 발생한다. 문자열 자료형끼리만 더하기 연산이 가능하다는 오류 메세지를 확인할 수 있다.
n = 7
print("답은 " + n + "입니다.")
TypeError: can only concatenate str (not "int") to str
- 이럴 땐 str() 함수를 이용하여 문자열로 바꾸거나 각 자료형을 콤마(,)를 기준으로 구분하여 출력하면 된다.
n = 7
print("답은 " + str(n) + "입니다.")
# 출력 : 답은 7입니다.
- 각 변수를 콤마로 구분하여 출력하는 경우, 변수의 값 사이에 의도치 않은 공백이 삽입될 수 있다는 점을 신경써야 한다.
n = 7
print("답은" , n, "입니다.")
# 출력 : 답은 7 입니다.
- Python 3.6 이상의 버전부터 f-string 문법을 사용할 수 있는데 자료형의 변환 없이 간단히 문자열과 정수를 함께 넣을 수 있다.
n = 7
print(f"답은 {n}입니다.")
# 출력 : 답은 7입니다.
Ref.
1. 책 / 이것이 취업을 위한 코딩 테스트다 with 파이썬
2. 파이썬 코딩 도장(map) / https://dojang.io/mod/page/view.php?id=2286
* 잘못된 부분에 대해 댓글 남겨주시면 감사하겠습니다! 😀
'코딩테스트' 카테고리의 다른 글
[코테/백준] Python 한수 - 1065번 (0) | 2023.02.21 |
---|---|
[코테/백준] Python 셀프 넘버 - 4673번 (0) | 2023.02.21 |
[코테/백준] Python 수들의 합 - 1789번 (0) | 2023.02.05 |
[코테/백준] Python 전자레인지 - 10162번 (0) | 2023.02.04 |
[코테/백준] Python 로프 - 2217번 (0) | 2023.02.04 |
한 개의 입력 데이터 받기
# 문자열
n = input()
# 정수
n = int(input())
여러 입력 데이터를 리스트로 변환
1) 데이터들이 한 칸 띄어쓰기가 되어있는 경우
- map() : 리스트의 요소를 지정된 함수로 처리해주는 함수이다.
# 문자열
n = list(input().split()) # 입력 : a b c d
print(n) # 출력 : ['a', 'b', 'c', 'd']
# 정수
n = list(map(int,input().split())) # 입력 : 1 2 3 4
print(n) # 출력 : [1, 2, 3, 4]
2) 데이터들이 붙어있는 경우
- 문자열을 list로 형변환하면 각 문자가 원소가 된다.
# 문자열
n = list(input()) # 입력 : abcd
print(n) # 출력 : ['a', 'b', 'c', 'd']
# 정수
n = list(map(int,input())) # 입력 : 1234
print(n) # 출력 : [1, 2, 3, 4]
각 변수로 여러 값 입력받기
n, m, k = map(int, input().split()) # 입력 : 1 2 3
print(n, m, k) # 출력 : 1 2 3
입력 개수가 많은 경우의 입력받기
- input() 함수의 동작 속도가 느리기 때문에 입력 개수가 많은 경우 파이썬의 sys 라이브러리에 정의되어 있는 sys.stdin.readline() 함수를 이용하는 것이 좋다.
- sys 라이브러리를 사용할 때 한 줄 입력을 받고 나서 rstrip() 함수를 꼭 호출해야 한다. readline()으로 입력하면 입력 후 엔터(enter)가 줄 바꿈 기호로 입력되기 때문에 공백 문자를 제거하기 위해 rstrip() 함수를 사용해야 한다.
import sys
n = sys.stdin.readline().rstrip() # 입력 : Hello World
print(n) # 출력 : Hello World
출력시 주의할 점
- 문자열과 수를 더하기 연산자(+)를 이용하여 더하면 오류가 발생한다. 문자열 자료형끼리만 더하기 연산이 가능하다는 오류 메세지를 확인할 수 있다.
n = 7
print("답은 " + n + "입니다.")
TypeError: can only concatenate str (not "int") to str
- 이럴 땐 str() 함수를 이용하여 문자열로 바꾸거나 각 자료형을 콤마(,)를 기준으로 구분하여 출력하면 된다.
n = 7
print("답은 " + str(n) + "입니다.")
# 출력 : 답은 7입니다.
- 각 변수를 콤마로 구분하여 출력하는 경우, 변수의 값 사이에 의도치 않은 공백이 삽입될 수 있다는 점을 신경써야 한다.
n = 7
print("답은" , n, "입니다.")
# 출력 : 답은 7 입니다.
- Python 3.6 이상의 버전부터 f-string 문법을 사용할 수 있는데 자료형의 변환 없이 간단히 문자열과 정수를 함께 넣을 수 있다.
n = 7
print(f"답은 {n}입니다.")
# 출력 : 답은 7입니다.
Ref.
1. 책 / 이것이 취업을 위한 코딩 테스트다 with 파이썬
2. 파이썬 코딩 도장(map) / https://dojang.io/mod/page/view.php?id=2286
* 잘못된 부분에 대해 댓글 남겨주시면 감사하겠습니다! 😀
'코딩테스트' 카테고리의 다른 글
[코테/백준] Python 한수 - 1065번 (0) | 2023.02.21 |
---|---|
[코테/백준] Python 셀프 넘버 - 4673번 (0) | 2023.02.21 |
[코테/백준] Python 수들의 합 - 1789번 (0) | 2023.02.05 |
[코테/백준] Python 전자레인지 - 10162번 (0) | 2023.02.04 |
[코테/백준] Python 로프 - 2217번 (0) | 2023.02.04 |