[Python] 프로그래머스_배열 뒤집기 (reverse와 reversed 차이)

세 연·2024년 7월 22일

Algorithm

목록 보기
1/11
post-thumbnail

오늘의 문제...

📍 자연수 뒤집어 배열로 만들기

문제 보러가기

Q. 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.


풀이

def solution(n):
    answer = list(map(int, list(str(n))))
    answer.reverse()
    return answer

시도한 것

  • map(적용할 함수, 적용할 요소) : 반복가능한 객체를 받아 각 요소에 첫 번째 인자로 받은 함수를 적용하는 함수
  • reverse(배열) : 배열의 순서를 뒤집는 함수

참고할 만한 다른 풀이

def solution(n):
    return list(map(int, reversed(str(n))))

새롭게 알게 된 것

  • reversed(배열) : 배열의 순서를 뒤집는 함수

추가로 공부한 것

다른 풀이를 참고해보면 reverse와 reversed의 쓰임이 살짝 다름을 알 수 있다. 그렇다면 reverse와 reversed의 차이점은 무엇일까?

reverse

  • list 타입에서 제공하는 함수
  • 기본형 : 리스트.reverse()
  • 리스트의 순서를 뒤집기만 하는 함수, 반환값 없음
mylist = [1,2,3,4,5]
reverse_mylist = mylist.reverse()

print(reverse_mylist) 

#[5,4,3,2,1]

reversed

  • list 타입에서 제공하는 함수가 아닌 python 내장함수
  • 기본형 : reversed(값)
  • 리스트 혹은 값의 순서를 뒤집고, 뒤집은 값을 반환
  • 따라서 결과값을 리스트로 출력하고 싶다면 list() 함수로 감싸줘야 함
mylist = [1,2,3,4,5]
reversed_mylist_1 = reversed(mylist)
reversed_mylist_2 = list(reversed(mylist))

print(reversed_mylist_1)
print(reversed_mylist_2)

#<list_reverseiterator object at 0x0000014E1C76EFD0>
#[5,4,3,2,1]

profile
XP in Progress: My Dev Inventory

0개의 댓글