문제풀이/일일연습문제

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함수에 대해서 더 공부가 필요하다고 느껴진다.