문제
숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해라
num: 숫자
return: true or false (뒤집은 모양이 num와 똑같은지 여부)
예를 들어,
num = 123
return false
=> 뒤집은 모양이 321 이기 때문
num = 1221
return true
=> 뒤집은 모양이 1221 이기 때문
num = -121
return false
=> 뒤집은 모양이 121- 이기 때문
num = 10
return false
=> 뒤집은 모양이 01 이기 때문
풀이
- 문제의 조건 정리
1) 정수형 인자를 받는다.
2) Boolean형 데이터를 반환한다.
3) 음수를 뒤집으면 모두 모양이 바뀐다(False)
4) 일의 자리가 0이면 모양이 바뀐다(False)
- 조건에 대한 코드 구현 방법 생각
1) 정수형 인자를 뒤집을 수 없으므로 str형으로 바꿔준다.
2) slicing 중 리스트를 뒤집을 수 있는 방법인 [::-1]을 사용한다.
- 구현 코드
def same_reverse(num):
if str(num) == str(num)[::-1]:
return True
else:
return False
- 코드 리뷰
- 문제의 조건이 많지 않아 str() 함수와 [::-1] 슬라이싱만으로 간단하게 풀 수 있었다.
- 음수와 일의 자리가 0인 수는 [::-1]로 뒤집었을 때 원본과 모양이 무조건 달라지므로 간결하게 코드를 작성할 수 있었다.