reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.x: 숫자
return: 뒤집어진 숫자를 반환!예를 들어,
x: 1234이면
return: 4321x: -1234이면
return: -4321x: 1230이면
return: 321
나는 일단 정수인 숫자를 인자로 받기 때문에 숫자를 string으로 변환해주고 문자열을 slicing하여 맨 마지막에서부터 가져오기로 했다. 이 때, 숫자 인자가 음수인 경우에는 부호는 그대로 유지하면서 숫자만 뒤집어서 반환해야하기 때문에 인자가 양수일 때와 음수일 때로 나누어 보았다.
그러나 음수일 때에는 맨 앞에 음수 부호(-)를 붙여줘야하는데 이미 string으로 변환이 되어있어서 -1을 곱할 수 없어 string으로 부호를 붙여주었다.
def reverse(number):
if number > 0:
renumber = str(number)[::-1]
return renumber
elif number < 0:
number *= -1
renumber = str(number)[::-1]
return "-" + renumber
숫자를 string으로 변환해주고 맨 마지막에서부터 slicing하여 가져오는 것은 내가 작성한 풀이법과 동일하였다.
숫자의 마지막이 0으로 끝나는 경우 뒤집어진 숫자에는 0이 나오면 안되기 때문에 slicing된 수를 index값 1부터 반환하도록 하였고 음수였던 경우 맨 마지막에 음수 부호(-)가 나오기 때문에 string을 다시 int로 변환하여 -1을 곱해주었다.
def reverse(number):
res = str(number)[::-1]
if res[0] == 0:
res = res[1:]
if res[-1] == '-':
res = int(res[0:len(res)-1]) * -1
return int(res)