[알고리즘 문제풀이] 코드카타 2

나른한 개발자·2022년 1월 16일
0

문제풀이

목록 보기
2/13

reverse 함수에 정수인 숫자를 인자로 받습니다. 그 숫자를 뒤집어서 return해주세요.

  • 입력: 정수
  • 출력: 입력된 숫자를 뒤집은 형태의 정수

풀이 과정

  • 입력받은 정수를 문자열로 형변환 시켜 리스트에 담는다. (정수->리스트는 되지 않기 때문)
  • 음수일 경우 마지막 인덱스에 '-'가 있으므로 이를 제외하고 리스트에 담은 후 0번째 인덱스에 '-'를 붙여준다.

코드

def reverse(number):
  str_num = list(str(number))
  str_num.reverse()
  
  if number < 0:
    str_num.pop()
    str_num.insert(0, '-')

  result = int(''.join(str_num))
  
  return result

+)

reversed() 와 reverse()의 차이

  • reversed(): 파이썬에서 제공하는 내장 함수. 반복 가능한 객체를 반환하며 리스트 자체가 바뀌는 것은 아님.
  • reverse(): 리스트 타입에서 제공하는 함수. 리스트 자체가 바뀐다.
my_list = [1, 2, 3]

reversed(my_list) # type: <class 'list_reverseiterator'>
print(my_list) # [1, 2, 3]

my_list.reverse()
print(my_list) # [3, 2, 1]
profile
Start fast to fail fast

0개의 댓글