Programmers Coding Quiz #10 자연수뒤집기
문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한사항
- n은 10,000,000,000이하인 자연수입니다.
입출력 예
a | return |
---|---|
12345 | [5,4,3,2,1] |
풀이
def solution(n):
return [int(v) for v in list(reversed(str(n)))]
- str로 자연수를 문자열로 바꾼다
- reversed로 문자열을 뒤집는다
- list로 문자열을 리스트로 변환한다
- 변환한 리스트를 for문을 통해 int로 일일히 바꿔준다
다른풀이
def digit_reverse(n):
return [int(i) for i in str(n)][::-1]
거의 비슷하지만 reversed대신에 [::-1]로 슬라이싱을 활용했습니다.
슬라이싱은 실행속도가 빠른편이라 시간복잡도 측면에서 한 수 위인 풀이법이라 할 수 있습니다.
그리고 다시보니 따로 문자열을 리스트를 변환하지 않았네요.
def digit_reverse(n):
return list(map(int, reversed(str(n))))
여긴 MAP을 활용했네요. 문자열도 맵으로 매핑가능하군요
Author And Source
이 문제에 관하여(Programmers Coding Quiz #10 자연수뒤집기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@keywookim/Programmers-Coding-Quiz-10-자연수뒤집기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)