소소한 컴퓨터 이야기

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

by Cori

문제

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

예를 들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

 

제한 조건

· n은 10,000,000,000이하인 자연수입니다.

 

입출력 예

n return
12345 [5, 4, 3, 2, 1]

풀이

1. Me

def solution(n):
    answer = [] 
    tmp = list(str(n))
    for i in range(1,len(tmp)+1):
        answer.append(int(tmp[-i]))
    return answer

list[-0] = list[0] 이기 때문에, range의 범위를 1 ~ (len(tmp)+1)로 설정하여 뒤에서부터 answer 리스트에 집어넣고, 반환하였다. 

 

2. Others

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

reversed() 함수를 활용하여 순서를 뒤집고, 리스트 형태로 매핑하여 반환하였다. 

* reversed() 함수 사용 시 map 함수를 사용하지 않을 경우 print(list(reversed(n)) 과 같은 형태로도 사용 가능


자료 정리

1. reverse() 함수 vs reversed() 함수

1) reverse()

-> list의 자료형 함수로, list 요소를 역순으로 정렬해준다. (객체 반환 x) 

 

2) reversed()

-> 파이썬의 내장함수로, 'reversed' 객체를 반환한다. reversed() 함수의 경우 다음과 같은 형태로 사용할 수 있음 

l = ['a','b','c'] 
t = ('a','b','c')

list_l = list(reversed(l))
tutple_t = tuple(reversed(t))
string_s = ''.join(reversed(l))

2. sort() 함수 vs sorted() 함수 

1) sort() 

-> list의 자료형 함수로, list 요소를 정렬해준다. (객체 반환 x)

 

2) sorted()

-> 파이썬의 내장함수로, 입력값을 정렬한 후 그 결과를 리스트로 돌려준다. 

l = [1,3,2]
print(l.sort())  # None을 반환함 
print(l)  # [1,2,3]을 반환함 

l2 = [1,5,3]
print(sorted(l))  # [1,3,5]을 반환함 
print(l)  # [1,5,3]을 반환함

'CS > Coding Test' 카테고리의 다른 글

약수의 합  (0) 2021.08.21
자릿수 더하기  (0) 2021.08.21
정수 내림차순으로 배치하기  (0) 2021.08.21
짝수와 홀수  (0) 2021.08.21
최대공약수와 최소공배수  (0) 2021.08.21

블로그의 정보

코딩하는 오리

Cori

활동하기