reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return 해주세요.
x: 숫자
return: 뒤집어진 숫자
def reverse(number):
# 여기에 코드를 작성해주세요.
x: 1234
return: 4321
x: -1234
return: -4321
x: 1230
return: 321
- 주어진
number
를str()
를 통하여 문자열로 바꿔준다[::-1]
으로slicing
하여 반대로 출력한다.int()
으로 문자열을 다시 정수형으로 바꾸어 준다.- 순서가 뒤바뀐 정수를 반환한다.
- 음수일 경우
-1
을 곱하여 양수로 바꾸어 준다.- 위의
접근 방식 2~3번
을 반복한다.
def reverse(number):
if number < 0:
number *= -1
new_number = int(str(number)[::-1])
new_number *= -1
return new_number
else:
return int(str(number)[::-1])
# 예시 및 출력
num1 = -1230
print(reverse(num1))
코드 수를 줄이기 위해 아래와 같이 바꾸었다.
음수인 예외 조건을
return
안에 압축하여 한 줄로 축약했다.
def reverse(number):
if number < 0:
return -int(str(abs(number))[::-1])
else:
return int(str(number)[::-1])
우리 팀의 답안과는 다른 방식으로 slicing
을 진행하였다.
- 문자열로 바꾼 것까지는 똑같다.
-1
를 곱하지 않고 문자열 상태에서 맨앞에-
를 추가한다.- 문자열의 끝에서 두 번째 자리까지
slicing
하여 맨끝의-
를 제거한다.- 문자열을 정수형으로 바꾸어 리턴한다.
def reverse(number):
new_num = str(number)[::-1]
if number < 0:
new_num = "-" + new_num[:-1]
return(int(new_num))