백준 10998번 - A × B
Q. 두 정수 A와 B를 입력받은 다음, A × B를 출력하는 프로그램을 작성하시오.
지난 시간에는 A - B에 대한 문제였는데 곱셈도 뺄셈과 거의 비슷하다.
그래서 이번 기록에는 지난 문제와 다르게 푸는 방법에 대해 이야기하고자 한다.
먼저 지난번에 했던 것을 복습해 보자면,
3 2를 두 정수 A, B로 받기 위해서는
"3 2"를 input()으로 받은 후 split() 함수를 통해 두 숫자 사이의 공백을 구분자로 받아주어 공백을 없애주고 문자열을 만들어줘야 한다고 했었다.
즉, A, B = input().split()으로 코딩을 진행하였다.
그 후 이 두 값은 문자로 받아들여지고 있기 때문에 A, B를 숫자로 (문제에서 말한 듯이 정수로) 받아들이기 위해
int 함수를 사용했었다.
x = int(A)
y = int(B)
처럼 말이다.
이 방식으로 진행하면 코드가 총 3줄이 된다.
이 세 줄의 코드를 단 한 줄로 만들어주는 함수가 존재하는데 바로 map 함수이다.
이번엔 그 함수를 이용하여 문제를 풀어보겠다.
map(함수, 반복 가능한 개체(리스트, 튜플 등))
map 함수는 리스트의 요소들을 지정한 함수에 각각 적용하여 여러 개의 데이터를 한 번에 다른 형태로 변환하여 주는 함수이다.
우리의 예제에서는 A와 B 각각에 int 함수를 적용해 줘야 했다.
즉, 이 말은 int 함수를 반복하여 적용해야 한다는 의미이다. 그러므로 map 함수를 적용해 볼 수 있다.
한번 적용해 보자.
우리가 반복해서 사용해야 할 함수는 int 함수이므로
함수 자리에 int를 넣는다.
map(int, 반복 가능한 개체(리스트, 튜플 등))
이 int 함수를 A와 B에 적용을 시켜줘야 하므로 반복 가능한 개체에 A와 B를 넣는다.
A, B = input().split()이므로
map(int, input().split())이 되고, 이 각각의 값을 A와 B에 넣어주면 된다.
최종 모형은
A, B = map(int, input().split())이 된다.
그럼 한번 예제 입력 값인 3 2를 넣어볼까?


타입도 정수형으로 잘 출력됨을 볼 수 있다.
이제 print 함수를 통해 곱셈을 출력시킨다.
곱셈을 나타내는 수식 기호는 *이므로
print(A*B)를 출력해 주면

값이 잘 나오는 것을 볼 수 있다.
지금은 A와 B, 두 가지 인자만 적용해 주면 돼서 굳이 map 함수를 사용하지 않아도 간단하게 결과가 나오지만,
데이터양이 많아 10개, 20개, 100개, ... 등의 자료들에 같은 함수를 적용해 줄 때 매우 유용하게 쓰이는 함수이니 꼭 기억해두면 좋을 것 같다.
'우당탕탕 파이썬 with 하루하나 알고리즘' 카테고리의 다른 글
백준 10869 파이썬 - 사칙연산 (몫, 나머지 출력하기, print 구분자) (0) | 2022.03.10 |
---|---|
백준 1008 파이썬 - 나눗셈 (정수 입력, map 함수) (0) | 2022.03.10 |
백준 1001 파이썬 - 뺄셈 (input 정수, 문자열 나누기) (0) | 2022.03.10 |
백준 10172 파이썬 - 강아지 출력하기 (문자열 안에 따옴표) (0) | 2022.03.10 |
백준 10171 파이썬 - 고양이 출력하기 (이스케이프 문자) (0) | 2022.03.10 |