code-taka 02(reverse)

Nicholas·2022년 5월 15일
0

Algorithm & DataStructure

목록 보기
2/12

문제

reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.

x: 숫자

return: 뒤집어진 숫자를 반환!

풀이

조건문과 슬라이싱을 이용한 방법

def reverse(number):
	n = 1
	if number < 0:
		n = -1
		number = -number
		m = str(number)[::-1]
return int(m)*n

조건문에 슬라이싱 대신 reverse함수사용

reverse함수 사용시 주의점은 reverse함수는 list에서만 작동한다.

그래서 int를 str으로, str을 다시 list로 변환해서 사용 후 이 문제는 int형의 답변임으로 다시 join함수로 str로 변환, 다시 int로 변환해줘야한다.

def reverse(number):
	if number < 0:
        number = -number
        l1 = list(str(number))
        l1.reverse()
        nums = int("".join(l1))
        return -1 * nums
    else:
        l1 = list(str(number))
        l1.reverse()
        nums = int("".join(l1))
        return nums

reverse함수는 리스트자체를 변환하고 reverse함수는 변환후 객체로 반환해주는 차이점이 있다..

조건문과 슬라이싱, abs 내장함수를 이용한 방법

abs함수 = int를 넣으면 절대값으로 반환해준다.

abs함수를 사용해 0보다 작을경우는 절대값으로 바꾼뒤 슬라이싱을 사용하기위해 str으로 변환, 그 뒤에 슬라이싱으로 뒤집고 리턴할때 - 추가해준다. 0보다 클경우는 바로 str으로 변환해서 슬라이싱으로 뒤집고 다시 int로 변환해서 return으로 해주면된다.

def reverse(number):
	if number < 0:
		n = abs(number)
		m = str(n)[::-1]
		result = -1 * int(m)
	else:
		result2 = str(number)[::-1]
		result = int(result2)
	return result
profile
WEB Developer

0개의 댓글