반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
05-19 04:57
관리 메뉴

ImJay

[파이썬/Python] 백준 1001번 A-B 본문

Solved.ac - Python/Bronze V

[파이썬/Python] 백준 1001번 A-B

ImJay 2022. 5. 12. 07:07
반응형

백준 1001번 : A-B

- 사용언어 : 파이썬

www.acmicpc.net/problem/1001

문제

두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.

코드

a, b = map(int, input().split())

print(a-b)

풀이

a, b = map(int, input().split())

우선 코드를 이해하기 위해서는 map() 함수와 input() 함수, split() 함수에 대한 이해가 필요합니다.

 

map(function, iterable)

map() 함수는 여러 변수 값들에(iterable) 여러분들이 만든 수식(function)을 동시에 적용시켜서 값을 반환하고 싶을 때 사용합니다.

여러 값들을 함수를 통해 수행하기 때문에, 당연히 그 값들을 저장할 대응하는 변수들도 필요합니다.

 

만약 x+1을 반환하는 function이 있고, 값 1, 2가 저장되어 있는 a(리스트)가 있다고 생각해봅시다.

x, y = map(function, a)

위 코드를 수행하면 x, y에는 어떤 값들이 저장될까요?

x = 2, y=3이 될 것입니다.

 

input()

input() 함수는 사용자로부터 문자열을 입력받습니다.

따라서 괄호 안에 아무 것도 입력하지 않는다면, 우리가 정수라고 생각하는 1은 문자열 형태로 반환이 됩니다.

그렇기 때문에 이를 정수형으로 사용해주고 싶다면, 형변환이 필요합니다.

 

split()

split() 함수는 괄호 안에 있는 문자를 기준으로 문자열을 나누어줍니다.

괄호 안에 아무 것도 들어 있지 않다면, 공백을 기준으로 문자열을 나눕니다.

 

input().split()

그렇다면, 위 코드의 결과는 어떻게 될까요?

input 함수를 통해 사용자로부터 입력 받은 값들을 split 함수를 통해 공백을 기준으로 나누어 줍니다.

 

a, b = map(int, input().split())

이제 조금 감이 잡힐까요?

int를 문자열을 정수로 형변환하는 함수(function)으로 생각하고,

input().split()을 변수들로 생각해본다면,

위 코드는 map()함수를 통해 int, 즉 정수로 형변환을 수행한 input.split() 변수를 a, b에 저장합니다.

 

정리해보면,

1. input()을 통해 문자열 3 2 를 입력 받는다.

2. 입력받은 문자열 3 2 를 split()을 통해 문자열 3과 문자열 2로 나눠준다.

3. map()의 function인 int를 적용하여 문자열 3과 2가 정수 3, 2로 형변환된다.

4. 정수 3, 2가 a, b에 저장된다.

 

같은 형식의 문제가 연속으로 들어있네요! A+B와 같은 내용으로 수식만 바꿔주면 해결할 수 있습니다.

 

 

 

반응형
Comments