숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.
num: 숫자
return: true or false (뒤집은 모양이 num와 똑같은지 여부)
✔️ 예를 들어, "num = 123"가 주어진다면, False를 반환한다 뒤집은 모양이 321이기 때문이다.
✔️ "num = 1221"이 주어지면, True를 반환한다. 뒤집은 모양이 1221 이기 때문이다.
✔️ "num = 10"이 주어진다면 역시 False를 반환해야한다. 뒤집은 모양이 01 이기 때문이다.
def same_reverse(num): # 아래 코드를 입력해주세요. num = str(num) for i in range(len(num)//2): if num[i] != num[-1 - i]: return False return True num = -101 print(same_reverse(num))
✔️ 문제에서 정수만 주어진다고 나타나있기 때문에 음의 정수일 때는 무조건 False를 반환한다. 수를 뒤집기 위해서 str로 변환한 했을 때, 맨 앞의 -가 맨 뒤로 이동해있기 때문에 뒤집은 모양은 항상 불일치하기 때문이다.
✔️ 이에 양의 정수일 경우에만 뒤집은 수와 원래 인자로 받은 수가 일치한지 확인하여 일치하다면 True, 불일치하다면 False를 반환한다.
def same_reverse(num): # 아래 코드를 입력해주세요. if num < 0: return False if str(num)[::-1] == str(num): return True else: return False num = -101 print(same_reverse(num))
✔️ 이 문제에 같은 경우에는 그냥 뒤집어서 풀어도 된당!
1. 원본과 뒤집은 형태가 일치하는지 확인할 때 모든 원소를 for문으로 반복할 필요가 없다.
2. 뒤집기가 필요할 때,, for문만 고집하지 말자. 슬라이싱도 핵쿨하다!