문제풀이/일일연습문제
99클럽 코테 스터디 1일차 TIL + 프로그래머스/1/12932. 자연수 뒤집어 배열로 만들기
Mo_bi!e
2024. 7. 22. 21:15
문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한 조건
- n은 10,000,000,000이하인 자연수입니다.
입출력 예
n | return |
---|---|
12345 | [5,4,3,2,1] |
> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
<내코드>
def solution(n):
answer = []
size = 10 ** (len(str(n)) - 1)
while(True):
value = n // size
new_n = n % size
answer.append(value)
if size != 1:
size = size // 10
n = new_n
else :
break
answer.reverse()
return answer
- size 를 구하는것이 문제였는데 str()을 이용해서 가능하다
- 순차적으로 하는 방식을 접근함
<모범사례>
def digit_reverse(n):
return list(map(int, reversed(str(n))))
def digit_reverse(n):
return list(map(int, list(str(n))[::-1]))
def digit_reverse(n):
# 함수를 완성해 주세요
return [int(i) for i in str(n)][::-1]
list(str(n)))[::-1] 과 reversed() 는 동일하게 이용이 가능함
일단 map() 이 중요한 포인트임
<느낀점>
1. 정수를 문자열로 변경은 str()로 가볍게 가능함
2. 파이썬 map함수에 대해서 더 공부가 필요하다고 느껴진다.