[알고리즘] 자연수 뒤집어 배열로 만들기

2023. 11. 6. 00:28알고리즘 풀이

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

제한 조건
n은 10,000,000,000이하인 자연수입니다.
입출력 예
n	return
12345	[5,4,3,2,1]

나의 풀이

- 캐스팅과 reverse를 통해 풀었다

- 하지만 리팩토링의 여지가 있다.

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

- reversed를 하면 한문장으로 줄일 수 있다.

- 주의해야할 점은 reversed는 iter를 반환한다는 것이다.

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

- reversed 인자로 str을 넣을 수 있다는 것을 이용하면 더 간단한 풀이가 된다

- 또한 map의 두번재 인자로 reversed가 들어올 수 있다

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

 

Reference


https://www.daleseo.com/python-reversed/#google_vignette

 

파이썬의 reversed() 함수로 거꾸로 루프 돌리기 (vs. slicing 연산자 & reverse() 함수)

Engineering Blog by Dale Seo

www.daleseo.com

https://school.programmers.co.kr/learn/courses/30/lessons/12932/solution_groups?language=python3

 

프로그래머스

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

programmers.co.kr