간단한 문제 & 비슷한 유형이라 묶어서 작성!
reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.
def reverse(number):
# 여기에 코드를 작성해주세요.
return int(str(number)[::-1]) if number >= 0 else -int(
str(number).strip("-").strip("0")[::-1])
다음 두가지 유형에 따라 분류된다고 생각했다.
number
를 문자열로 바꾼 후 뒤집어 다시 정수형으로 변환한다.int(str(number)[::-1]) if number > 0
number
를 문자열로 바꾼 후 문자열 앞 뒤에 0
이나 -
가 있으면 제거하고 뒤집어 음수형 정수로 반환한다.else -int(str(number).strip("-").strip("0")[::-1])
나뉘는 이유는 음수를 문자열로 바꾼 후 뒤집으면 -
도 뒤집혀 맨 뒤로 가기 때문이다. 파이썬은 맨 앞에 0
이 붙으면 정수형으로 변환되지 않기 때문에 미리 0
도 제거해준다.
숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.
Day2문제보다 더 간단하다.
def same_reverse(num):
# 아래 코드를 입력해주세요.
return str(num) == str(num)[::-1]
단순히 뒤집어서 비교를 해 주면 된다. 정수형으로 바꿀 필요도 없다!