Computer Language/Python

map 활용법 (숫자 list를 문자열로 변환)

rajent 2020. 12. 2. 01:14
728x90

hackerrank에서 python 능력 test중 재밌는 예제가 있어서 정리해봅니다.

입력으로 숫자 n이 주어지면 1~n까지 문자를 출력하는 문제입니다.

일단 1~n까지 숫자를 구하는거야 range로 쉽게 해결됩니다.

그런데 그걸 문자로 바꾸는건 간단한 방법과 깔끔한 방법이 두가지 존재합니다.

간단한 방법은 for문으로 range값을 받아서 변수에 하나씩 저장하고 출력하는겁니다.

n = int(input())
output = ""
for i in range(1,n+1):
    output = output + str(i)
print(output)

하지만 python에는 map이라는 내장함수가 있죠. 이렇게 바꿔볼수도 있습니다.

n = int(input())    
output = list(range(1,n+1))
str_output=list(map(str, data))
print(''.join(str_output))

map은 첫번째 argument로 함수를 받아서 두번째 argument의 각 element에 적용해서 retuen해줍니다.이를 이용해서 문자열 배열로 바꾼다음 string의 join함수로 합쳐버리는거죠.