코드카타 알고리즘 문제 풀다 처음 보는 함수가 있어서 찾아봤다.
문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요.
예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한 조건
n은 10,000,000,000 이하인 자연수
입출력 예
| n | return |
|---|---|
| 12345 | [5,4,3,2,1] |
def solution(n):
answer = []
n = str(n)
for i in range(1, len(n)+1):
a = int(n[-i])
answer.append(a)
return answer
다른 사람들의 풀이를 보다가 map 함수를 발견했다.
MAP 함수
map함수는 반복가능한iterable객체를 받아서,
각 요소에 함수를 적용해주는 함수
map (적용시킬 함수,적용할 요소들)
+1 연산 예시def add_1(n):
return n + 1
target = [1, 2, 3, 4, 5]
result = []
for value in target:
result.append(add_1(value))
print(result) # 출력결과 : [2, 3, 4, 5, 6]
def add_1(n):
return n + 1
target = [1, 2, 3, 4, 5]
result = map(add_1, target)
print(result)
다시 코드카타로 돌아가서
다른 사람의 풀이
(map 함수 사용)
def digit_reverse(n):
return list(map(int, reversed(str(n))))
# 문자열을 거꾸로 입력해줌
(list compre
def digit_reverse(n):
return [int(i) for i in str(n)][::-1]
# 문자열 뒤에 [::-1] 붙이면, 반대로 배열해줌