2019년 5월 7일 화요일

#31 알고리즘연습 - 자연수뒤집어서 배열만들기 - PYTHON


자연수 뒤집어서 배열 만들기 


문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한 조건
  • n은 10,000,000,000이하인 자연수입니다.
입출력 예
nreturn
12345[5,4,3,2,1]





문제풀이 IDEA

일단 자연수 상태에서는 가공이 힘드므로 str형태로 바꿔주고 sort의 역이 아닌 받은 그자체의 뒤집은 배열이므로 reversed 를 이용해주어 뒤집은 다음 원소를 int로 변환한다




나의 코드

1
2
3
def solution(n):
    return [int(i) for i in list(reversed(str(n)))]

    # str로 바꾼 숫자를 reversed 로 뒤집어 reversed object를 만들어준다음 list처리를 해주는데
      list의 원소들이 str 자료형이므로 문제에서 원하는대로 list comprehension 을 사용하여 int로 변환해준다



다른 코드1

3
4
5
6
7
8
# 문제가 개편 되었습니다. 이로 인해 함수 구성이 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
# 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
def digit_reverse(n):
    return [int(i) for i in str(n)][::-1]  #해당 코드는 str를 list comprehension으로 돌며
                                           int 로 변환해준다음 slicing 을 이용하여 뒤집어뒀다


다른 코드 2

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

    # 파이썬에서 map 이라는 내장함수를 이용해서 해당 조건에 매핑되는 결과를 리턴했다.




출처  : 프로그래머스

댓글 없음:

댓글 쓰기

가장 많이 본 글