Python

[파이썬] input, split, map, type, 파이썬으로 코딩테스트 입력 값 받기

파리외 개발자 2022. 5. 28. 00:40

https://www.acmicpc.net/problem/1016               <boj 1016번 문제 中>

코테를 풀면 처음에 입력값이 주어지는 경우가 대부분이다.

주어지는 입력값을 잘 가공하는 것도 문제를 푸는 과정 중 중요한 부분이다.

위 처럼 데이터가 주어졌을 때 파이썬으로 받는 기본적인 방법에 대해서 알아본다.

 

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형 원소를 가진 배열로써 입력값을 받을 수 있다.

 

코딩테스트 입력 값 받기

https://www.acmicpc.net/problem/1016               <boj 1016번 문제 中>

본론으로 돌아가서 코딩테스트 에는 입력값이 주어지는데 대개 한 줄로 주어질 것이다.

위와 같이 입력셋이 주어진다면

list형으로 변환하는 대신 두 정수에 매치되는 두 변수를 지정하여 입력을 받는다.

 

'Python' 카테고리의 다른 글

[Python] 중첩함수, First class Function, Closure, 데코레이터  (0) 2022.04.05