reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.
x: 숫자
return: 뒤집어진 숫자를 반환!
예들 들어,x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321
잘 모르겠어서, 일단 돌아가게만 풀었더니 중복이 너무 많다.
똑똑한 파이썬을 잘 이용하지 못하고 있다. 똑똑한 파이썬으로 미련하게 풀고 있다😂
def reverse(number):
number = str(number)
a = ''
n=-1
if int(number) < 0 :
number = number[1:]
while -n <= len(number):
a += number[n]
n += -1
return -int(a)
else:
while -n <= len(number):
a += number[n]
n += -1
return int(a)
생각지도 못한 abs()
를 이용한 깔끔한 풀이, 오늘도 하나 배워간다,,
🌮
abs(number)
number의 절댓값을 반환
def reverse(number):
a = str(abs(number))[::-1]
if number < 0:
return int(a) * (-1)
else:
return int(a)
신세계의 접근방법! divmod
를 이용한 풀이.
🌮
divmod(a, b)
a를 b로 나눈 몫과 나머지 2개의 값을 반환
def reverse(number):
sign = -1 if number < 0 else 1
number = abs(number)
result = 0
while number != 0:
number, mod = divmod(number, 10)
result = result * 10 + mod
return result * sign