안녕하세요. 지난 포스팅의 BOJ 25083번 : 새싹에서는 이스케이프 시퀀스를 추가적으로 공부해보고 적용해보았습니다. 오늘부터는 입력이 있는 문제를 다루어보고 파이썬의 기초 연산들에 대해서 알아보겠습니다.
핵심 포인트
- 입력함수 input
- 문자열 자르기 함수 split
- 자료형 변환함수 map
- 파이썬 기본 연산 +
파이썬에서 데이터를 타자로 입력하는 함수는 input() 함수를 통해 수행됩니다. 기본적으로 input() 함수는 데이터를 받아오게 되면 항상 문자열(str) 자료형으로 저장하기 때문에 이를 문제에 맞게 적절하게 변환하는 과정이 필요합니다. 파이썬에서는 이를 위해 map(function, iterable) 함수를 제공하고 있습니다. 위 문제는 공백을 포함하는 문자열을 공백을 기준으로 분해한 뒤 문자열 리스트를 만들고 그 다음에 각각의 원소를 정수형(int) 자료형으로 변환해야합니다. 따라서, function에서는 어떤 데이터를 정수형 자료형으로 변환하는 int 함수를 넣어주면 됩니다.
이때, 파이썬에서는 iterable 자료형이라는 것이 존재합니다. 즉, 반복가능한 자료형이라는 것인데, 간단하게 설명하면 인덱싱(indexing)을 통해 데이터를 추출할 수 있는 경우에 이를 iterable 자료형이라고 합니다. 파이썬에서는 리스트(list), 튜플(tuple), 딕셔너리(dict), 문자열(str), 집합(set) 자료형이 이에 속합니다.
input() 함수를 통해 문자열 데이터를 가져왔다면 이를 공백을 기준으로 분리해주면 됩니다. 파이썬에서는 문자열 연산 함수인 split(sep=None, maxsplit=-1) 함수를 이용해서 문자열을 사용자가 원하는 형태로 다양하게 분리할 수 있습니다.
- sep (str) : sep 인자로 넘겨주는 문자열을 사용해서 입력 문자열을 분리한 뒤 리스트로 반환해줍니다. sep를 넘겨주지 않으면 default로 공백을 기준으로 문자열을 분해하여 리스트로 반환합니다.
- maxsplit (int) : maxsplit은 입력 문자열의 가장 앞에서 시작하여 최대 maxsplit + 1개의 요소를 가진 리스트로 반환해줍니다. maxsplit을 넘겨주지 않으면 default로 분할 수에 제한이 없습니다.
input().split() 함수를 통해 입력된 문자열을 공백을 기준으로 분리하여 리스트를 얻게 되었습니다. 하지만, 여전히 리스트의 요소는 문자열이기 때문에 이를 정수형(int)로 변환해주는 과정이 필요하죠. 따라서, map(int, input().split())를 적용하면 분리된 문자열 리스트의 요소 각각을 모두 정수형으로 반환해주어 정수형 요소를 가진 리스트를 얻게 됩니다.
마지막으로 파이썬의 기본 연산인 덧셈(+)을 통해 입력된 두 정수의 합을 출력해주면 됩니다.
A, B = map(int, input().split())
print(A + B)
참고자료 및 그림출처
'Programming > Coding Problem' 카테고리의 다른 글
BOJ 10998번 : A × B (0) | 2022.05.30 |
---|---|
BOJ 1001번 : A - B (0) | 2022.05.29 |
BOJ 25083번 : 새싹 (0) | 2022.05.29 |
BOJ 10171번 : 고양이 (0) | 2022.05.28 |
BOJ 10718번 : We love kriii (0) | 2022.05.28 |