Pv_log

map( ) 활용하기 본문

Develop Study/Python

map( ) 활용하기

Priv 2023. 7. 30. 17:54


 

 

1. 개요

Python은 반복, 리스트, 문자열 등 프로그래밍을 하면서 정말 자주 마주하게 되는 매우 귀찮은(?) 상황들에 대해 정말 친절한 언어 중 하나입니다.

Python에는 이터러블 객체(Iterable Object)라는 개념이 존재하며, 이는 말 그대로 '반복'이 가능한 객체입니다.

map( ) 메서드는 이러한 이터러블 객체를 매개변수로 받아 데이터를 가공할 수 있습니다.

 


 

2. map( )

백준 사이트에서 알고리즘 문제를 Python으로 풀다 보면 map( )을 굉장히 자주 사용하게 됩니다.

25305번, 커트라인 문제를 보면 다음과 같습니다.

예제 입력 부분을 보면 한 줄에 여러 개의 숫자를 입력하고, 이 값들을 배열에 저장한 뒤 값을 출력해야 합니다.

100 76 85 93 98이라는 총 5개의 숫자는 공백으로 구분되어 있으며, 한 줄에 값을 모두 입력한 뒤 한꺼번에 데이터가 전달됩니다.

이럴 때 아래와 같이 map( )을 사용하면 매우 편리하게 리스트를 생성 및 데이터를 저장할 수 있습니다.

## 커트라인
import sys

def main() :
    n, k = map(int, sys.stdin.readline().split())
    l = list(map(int, sys.stdin.readline().split()))

    l.sort(reverse = True)

    print(l[k - 1])



if (__name__ == "__main__") :
    main()

sys.stdin.readline( )을 통해 사용자의 값을 입력받으며, split( ) 메서드를 사용하여 공백 문자로 5개의 숫자를 분리했습니다.

그런 다음, 입력한 값들을 int 형으로 변환했습니다.
(Python에서는 사용자의 입력을 받을 때 기본적으로 str(문자열)로 취급합니다)

그 후, map( ) 메서드를 통해서 5개의 값들을 하나씩 꺼내어 l이라는 이름의 리스트에 넣어주었습니다.

 

map( ) 메서드는 이처럼 반복이 필요한 경우, 여러 개의 데이터를 규칙에 맞게 가공해야 할 경우에 유용히 사용할 수 있습니다.

 


 


수고하셨습니다!


0 Comments