reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.
x: 숫자
return: 뒤집어진 숫자를 반환!
x: 1234
return: 4321
x: -1234
return: -4321
x: 1230
return: 321
def reverse(x):
new_num = str(x)
new_str = str()
if new_num[0]=='-':
new_str += '-'
new_num = new_num[1:]
for i in range(len(new_num)-1, -1, -1):
new_str += new_num[i]
result = int(new_str)
return result
indexing과 slicing이 가능한 str의 특성을 이용했다. 마지막에는 뒤집었을때 앞에 0이 오는 경우들을 처리해주기위해 다시 int로 바꾸어주었다.
def reverse(number):
string = str(number)
if string[0] == '-':
string = string[::-1]
new_string = string[-1]+string[:-1]
return int(new_string)
string = string[::-1]
return int(string)
나는 for문을 거꾸로 돌았는데 여기서는 그냥 바로 slicing으로 한번에 거꾸로 뒤집어버렸다..!
str[::-1]
기억해두어야지.
또한 string[:-1]
이 끝자리까지 slicing이 되는 줄 알았는데 맨 마지막에 지정해준 index는 범위에 포함되지 않으므로 끝의 앞자리까지 slicing을 하라는 의미였다.