본문 바로가기

알고리즘, 자료구조

[백준| 단계별로 풀어보기 1단계 | Python] 10430번 나머지 map()

1. 문제목적

map() 메서드를 공부해보자

2. 필요개념

map 함수는 파이썬에서 컬렉션 또는 반복 가능한(iterable) 다른 어떤 것의 모든 요소에 특정 함수를 적용하고 싶을 때 사용됩니다. 이 함수는 두 개의 주요 인자를 받습니다: 첫 번째는 적용할 함수, 두 번째는 그 함수가 적용될 반복 가능한 데이터입니다. map 함수의 결과는 map 객체이며, 이는 다시 리스트나 다른 컬렉션 타입으로 변환될 수 있습니다.

map 함수의 기본적인 사용법은 다음과 같습니다.

 

result = map(function, iterable)

  • function: 적용할 함수입니다. 이 함수는 iterable의 각 요소에 적용됩니다.
  • iterable: 함수가 적용될 반복 가능한 데이터입니다. 리스트, 튜플 등이 될 수 있습니다.

map 함수의 특징

  • 여러 컬렉션에 대해 동일한 함수를 적용할 때 효율적입니다.
  • 결과는 바로 리스트나 튜플로 변환할 수 있는 map 객체입니다.
  • 대규모 데이터셋에 대한 변환을 간단하게 할 수 있도록 도와줍니다.

map 함수는 데이터를 변환하거나 데이터에 연산을 적용하는 등의 작업을 할 때 코드를 간결하게 만들어 줍니다. 이는 데이터 사이언스, 웹 개발 등 다양한 분야에서 유용하게 활용될 수 있는 중요한 기능입니다.

3. 코드작성

예를 들어, 리스트의 모든 요소를 정수로 변환하고 싶다고 가정해 봅시다

numbers = ["1", "2", "3", "4", "5"]  # 문자열 리스트
int_numbers = list(map(int, numbers))  # 각 요소를 정수로 변환
print(int_numbers)

이 코드는 numbers 리스트의 각 요소를 정수로 변환하고, 그 결과를 int_numbers 리스트로 만듭니다. map 함수는 int 함수를 numbers의 각 요소에 적용하며, 결과적으로 문자열이 정수로 변환됩니다.

map 함수와 람다 함수의 결합

map 함수는 람다 함수와 함께 사용될 때 특히 유용합니다. 람다 함수는 이름 없이 선언할 수 있는 간단한 한 줄짜리 함수입니다. 이를 통해 복잡한 로직 없이 간단한 연산을 map 함수에 직접 전달할 수 있습니다.

예를 들어, 모든 요소를 제곱하고자 한다면 다음과 같이 할 수 있습니다:

numbers = [1, 2, 3, 4, 5]  # 정수 리스트
squared = list(map(lambda x: x**2, numbers))  # 각 요소를 제곱
print(squared)

이 예제에서 lambda x: x**2는 각 요소 x에 대해 x**2를 계산하는 람다 함수입니다. map 함수는 이 람다 함수를 numbers 리스트의 각 요소에 적용합니다.

A,B,C = map(int, input().split())

print((A+B)%C)
print(((A%C) + (B%C))%C)
print((A*B)%C)
print(((A%C) * (B%C))%C)

4. 마무리

map()에 대해 이해할 수 있었습니다. 

6. 문제링크

https://www.acmicpc.net/problem/10430