본문 바로가기
연습하기/Python 문제풀이

99클럽 코테 스터디 1일차 TIL 리스트 거꾸로 출력

by 니나노래방 2024. 7. 22.

 

- 숫자 데이터 타입을 리스트 형태로 변형하고, 원하는 순서대로 출력하는 문제입니다. 
- 문제 : 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
- 오늘의 회고
  - 어떤 문제가 있었고, 나는 어떤 시도를 했는지

  • 자연수의 각 자리 숫자를 원소로 가지게 하려면 자연수 자체가 배열 형태가 되어야 합니다. 
  • 따라서 가장 기본적인 배열 형태인 '문자열' 형태로 만들어 반복문을 돌리려고 했습니다. 
  • 다만, 거꾸로 출력하는 것이므로 '거꾸로'를 어떻게 출력해야 할지에 대한 고민이 필요했습니다.  처음에는 습관적으로 for i in range(n)으로 풀었다가 빈 리스트가 출력되는 문제가 있었습니다. 

  - 어떻게 해결했는지

def solution(n):
    answer = []
    n = str(n)
    for i in range(len(n)-1, -1, -1):
        answer.append(int(n[i]))
    return answer
  • n이라는 문자열의 갯수를 len(n)으로 세고, n[i] 번째의 글자부터 출력하도록 range를 설정했습니다. 
  • 이때 거꾸로 출력하기 위해 처음부터 n[0]이 출력되도록 첫 수는 len(n)-1으로 설정했고, 1씩 수가 감소하도록 만들었습니다. 
  • answer에 쌓이는 리스트들은 모두 '문자열' 형태입니다. 수가 원소여야 하므로 int를 붙여 형 변환을 시켜 리스트에 저장해줍니다. 
  • answer를 출력합니다. 

  - 무엇을 새롭게 알았는지

  • range(n)봇이 되지 않기.. '거꾸로' 잘 해석하기

 

  - 오랜만에 python을 하면 매번 리셋됩니다. 쉬운 문제였는데도 자동적으로 답이 안나오는 걸 보니 역시 연습이 필요하네요. 앞으로 6주라는 기간 동안 열심히 해보겠습니다!

댓글