티스토리 뷰

 

[Python] 백준 알고리즘 온라인 저지 1001번 : A-B

 

Python3 코드

A,B = input().split()
print(int(A)-int(B))

 

또 다른 방법, map 함수를 사용하는 코드

A,B = map(int,input().split())	#첫번째인자:함수, 두번째인자:데이터
print(A-B)

 

 

Python3 코드 풀이

 

1. 문제를 풀었던 전체적인 내용 정리

이번 문제는 두 수를 입력 받으면 뺄셈 연산을 해서 출력하는 문제이다.

 

입력 받는 두 수는 공백으로 구분된 하나의 문자열로 입력 받기 때문에 공백을 기준으로 분리 한 후 숫자로 변환하여 뺄셈 연산을 해서 문제를 풀었다. 숫자로 변환 할 때 입력 받는 수가 두개 밖에 없기 때문에 각각 int함수로 변환 할 수도 있지만 map 함수를 이용해서 한번에 변환하는 것도 가능해서 두 개의 코드로 작성해보았다. 

 

2. 첫 번째 코드, 두개의 숫자를 각각 int 함수로 변환하였다.

A,B = input().split()
print(int(A)-int(B))

위 코드에서 사용한 3개의 함수의 특징을 간략히 정리해보자면 input 함수로 입력받는 경우 사용자가 숫자를 입력해도 문자열로 입력된다. 즉, 3과 2를 입력 받는다면 두 수가 '3 2'라는 하나의 문자로 입력된다는 것이다.

 

split 함수는 문자열을 나눌 때 사용하는 함수인데 괄호( ) 안에 아무것도 입력하지 않으면 공백을 기준으로 문자를 나누게 된다. 즉, '3 2' 문자를 '3', '2'라는 두 개의 문자로 나누게 되는 것이다. 이 두 개의 문자를 튜플(tuple) 자료형의 성질을 이용하여 = 기호 왼쪽에 임의의 변수 A, B 두 개를 지정하면 입력받은 문자가 두 개로 나뉘어 각각의 변수를 선언하게 된다.

 

int 함수는 이 두 개의 변수를 숫자로 변환할 수 있게 해 준다.

 

3. 두 번째 코드, map 함수를 이용하여 숫자로 변환한다.

A,B = map(int,input().split())	#첫번째인자:함수, 두번째인자:데이터
print(A-B)

map 함수는 iterable 자료형을 변환시키는 용도로 사용할 수 있다. 백준 온라인 저지에서는 데이터를 input 함수로 입력받아 문제를 풀어야 하는 경우가 상당히 많다. 그럴 때 input 함수는 문자열로 입력받게 되니 숫자로 변환할 때 용이하게 사용할 수 있다.

 

함수를 사용 할 때는 보통 괄호( ) 안에 두 개의 인자를 입력해서 사용하게 된다. 첫 번째는 함수, 두 번째는 iterable 자료형을 입력한다. 이때 iterable은 반복 가능한 자료형을 의미한다. 리스트, 문자열, 튜플과 같은 자료형이 iterable에 해당한다. 그러면 두 번째 인자에 입력한 자료를 첫 번째 인자에 입력한 함수를 이용해서 변환시킬 수 있는 것이다.

 

위 코드에서는 문자열을 두 개로 나눈 튜플 iterable 자료형을 int 함수를 이용해서 숫자로 변환시킨 것이다. 그리고 A, B 에는 두 개의 숫자를 각각 변수로 선언하도록 사용하였다. 

 

 

반응형
댓글
반응형