코딩테스트

[프로그래머스]자연수 뒤집어 배열로 만들기(python)

다있는닉네임 2023. 1. 5. 16:37

https://school.programmers.co.kr/learn/courses/30/lessons/12932

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요.

  • 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.제한 조건입출력 예nreturn
    12345 [5,4,3,2,1]
  • n은 10,000,000,000이하인 자연수입니다.

풀이

def solution(n):

    return list(map(int,reversed(str(n))))

n을 string 으로 변환한 뒤, 역순으로 만들어 주고 map에 넣어서 다시 숫자로 변환한 뒤 list로 만들어 준다.

관련 개념

  • map
    • 형태: map(함수, 리스트)
    • 특징:
      map 함수에서 사용되는 리스트를 변경하지 않고 새로운 리스트를 생성한다.
      리스트 뿐만 아니라 반복 가능한 객체를 모두 넣을 수 있다.
      map은 반환을 map객체로 반환 하기 때문에 앞에 list(),tuple()을 사용하여 list,tuple로 변환을 시켜준다.
        list(map(함수,리스트))
        tuple(map(함수,리스트))
      
    • 람다함수 적용: 모든 요소에 1을 더해서 반환 하는 예시
        list(map((lambda x: x + 1), [1, 2, 3, 4, 5]))
        # 결과는 2,3,4,5,6
        list(map((lambda x: x + 1), range(1,6))) #같은 결과 값 반환
      
  • reversed 와 reverse
    • reversed : list를 뒤집어 주며 반환값이 있다.
    • reverse : list를 뒤집으며, 반환값이 없다.
  • 문자열 뒤집는 방법
    • str[::-1]