정수인 숫자를 인자로 받아 그 숫자를 뒤집어 반환 하는 reverse 함수를
만들어라.
ex1)
x:1234 return 4321
ex2)
x:-1234 retunr -4321
ex3)
x:1230 retunr 321
def reverse(number):
# step1
abs_num=abs(number)
n=int(0)
result=int(0)
while abs_num:
abs_num//=10
n+=1
#step2
abs_num = abs(number)
for i in range(n):
result+=(abs_num%10)*(10**(n-i-1))
abs_num//=10
#step3
if number > 0:
return result
else:
return result*(-1)
abs_num=abs(number) # 받은 숫자를 절대값으로 변환한 수 abs_num
n=int(0) # 자릿수를 저장할 n
result=int(0) #결과를 반환할 result
while abs_num:
abs_num//=10
n+=1
# abs_num을 10으로 나누어 0이 될 때까지,
# 10으로 나눈 횟수를 자릿수n으로 한다.
어떤 수 가 의 자리수일 때,
임으로
를 으로 번 나누어야 이 된다.
ex)
abs_num = abs(number)
for i in range(n):
result += (abs_num%10)*(10**(n-i-1))
abs_num//=10
가 ~ 까지for
문을 돌면서
번째 자리 숫자를 자리 숫자로 바꾸어
result에 저장한다.
1 | 2 | ... | |||||
---|---|---|---|---|---|---|---|
... | 1 |
1 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | |
5 | 4 | 3 | 2 | 1 | 0 |
if number > 0:
return result
else:
return result*(-1)
편의를 위해 result
를 양수로 가정하고 만들고 진행하였는데,
최종적으로 number의 부호에 따라
number
가 양수면, result
를 그냥 반환하고,
number
가 음수면, result
를 음수로 만들어 주고 반환한다.