본문 바로가기

Programming/알고리즘 파이썬 문제풀이

[Python/Programmers] 12932. 자연수 뒤집어 배열로 만들기

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

 

입력 : 자연수 n

출력 : 뒤집은 리스트

 

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

 


직관 및 접근

 


공부내용

 


풀이

1차 풀이

# 1차 풀이 : C스럽게 풀이
def solution(n):
    answer = []
    while(n > 0):
        answer.append(n % 10)
        n = n // 10
    return answer

- C스럽게 푼 것 같음. 나중에 추가로 고민해보자.

- input이 문자열이면 그냥 split이나 list() 해서 map쓴 다음 reverse 메서드 쓰든 슬라이싱 쓰든 하면 바로 풀릴텐데.. 정수라서 이렇게 되네

2차 풀이

# 2차 풀이 : 파이써닉하게 풀이
def solution(n):
    n = str(n)
    answer = n[::-1]
    listed_answer = list(map(int, list(answer)))
    return listed_answer

- 피드백을 통해, str() 함수로 문자열로 바꾸고 시작하면 되겠다는걸 깨달음!!

- 문자열(또는 리스트) 뒤집기는 여러 방법이 있지만, 여기선 슬라이싱 사용

list() 함수 대신 split()으로도 풀 수 있을 것이다.