TIL - CodeKata

김영훈·2021년 3월 30일
0

ETC

목록 보기
4/34

# 문제

  • reverse 함수에 정수인 숫자를 인자로 받습니다.

  • 그 숫자를 뒤집어서 return해주세요.

  • x: 숫자

  • return: 뒤집어진 숫자를 반환!

  • 예들 들어,

      x: 1234
      return: 4321
      x: -1234
      return: -4321
      x: 1234
      return: 4321

# 풀이

  • 나의 풀이
def reverse(number):
    
    answer = list(str(number))
    
    answer.reverse()

    if number > 0:

        while answer[0] == 0:
          answer.pop(0)

        result = ''.join(answer)

        return int(result)

    elif number == 0:
      
      return 0

    else:
      
      answer.pop(-1)

      result = ''.join(answer)   

      return -int(result)
    

# review

  • 문자열을 list()로 형변환하면, 문자열이 인덱스별로 나눠진 뒤, 리스트 객체의 요소가 된다.

  • sort(reverse=True)reverse()의 차이점 구분하기

    • sort(reverse=True): 오름차순 정렬한 뒤 요소를 역순으로 배치
    • reverse()는 요소를 역순으로 배치
  • 문자열은 인덱싱을 통한 요소 삭제가 불가능. 리스트로 형변환하여 삭제하는 게 좋다.

    • 시사하는 바: 데이터 요소의 삭제, 추가, 수정 등에 관한 처리를 편리하게 하려면 list객체 형변환을 시키는 것이 좋다.
  • 숫자가 0인 경우에 대해서도 흐름 처리가 이뤄져야 한다.

  • 음수return하고 싶다면 숫자 앞에 음수 부호'-' 만 붙여주면 된다.

profile
Difference & Repetition

0개의 댓글