[파이썬] input, split, map, type, 파이썬으로 코딩테스트 입력 값 받기
코테를 풀면 처음에 입력값이 주어지는 경우가 대부분이다.
주어지는 입력값을 잘 가공하는 것도 문제를 푸는 과정 중 중요한 부분이다.
위 처럼 데이터가 주어졌을 때 파이썬으로 받는 기본적인 방법에 대해서 알아본다.
input( ) - 입력 함수
input은 한 줄로 입력되는 모든 값을 해당 변수에 저장한다.
문장으로 입력되는 값도 a 변수에 입력되어 저장된다.
한 줄로 입력받는걸로 보아 입력값의 변수형은 문자열로 짐작이 가능하다.
type( ) - 변수형 출력 함수
type 메소드는 변수형을 리턴한다.
input으로 받는 모든 한줄의 입력값은 string형태로 받는다.
변수형( ) - 형변환 함수 ex) int( ), float( ), str( )
변수형( ) 메소드는 파이썬의 형변환 함수로 위에선 int형변환만 해봤다.
str으로 입력되는 모든 input값이 int에 포장되어 나오도록 한다.
split( ) - 문자열을 구분자로 인자를 나눠 배열로 변환
앞서 input은 한 줄로 입력된 값을 str형태로 받는다 했다.
input()에 split()을 붙여봤다. 그러자 입력된 변수는 list형으로 받아졌다.
split은 괄호 안의 구분자, 여기선 . 으로 구분하여 배열형으로 변환되었다.
그렇다면 구분자를 없이 split을 사용한다면
한 줄로 입력된 문장을 여백으로 나눠 하나의 인자씩 배열로 만들어 준다.
map( ) - 배열형의 모든 인자에 함수 적용
들어오는 변수에 +1을 해서 내보내는 add1함수가 정의되고
4부터 8까지의 배열을 생성했다.
map( functions, list ) 메소드는 첫 번째 인자로 함수를 받고, 두 번째 인자로 배열형태의 변수를 받는다.
그리고 리턴값은 map객체이므로 list로 다시 형변환 해준다.
배열의 각 원소가 1씩 추가되는 것을 볼 수 있다.
input()에 적용해본다면 한 줄로 입력받은 문자열을
공백으로 나눠 배열로 만들어주고
map을 통해 int()메소드를 각 인자에 적용시켜준 뒤
다시 list형으로 형변환 하여 a에 저장한다.
a변수에 int형 원소를 가진 배열로써 입력값을 받을 수 있다.
코딩테스트 입력 값 받기
본론으로 돌아가서 코딩테스트 에는 입력값이 주어지는데 대개 한 줄로 주어질 것이다.
위와 같이 입력셋이 주어진다면
list형으로 변환하는 대신 두 정수에 매치되는 두 변수를 지정하여 입력을 받는다.