알고리즘 - codekata day4

min00young·2020년 11월 8일
0

문제

숫자인 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 이기 때문

풀이과정

문제를 보면 숫자인 인자를 넘겨받고, 그것을 뒤집었을때 처음에 입력받은 인자와 동일하면 True, 동일하지 않으면 False를 return하는 함수를 구현하는 문제입니다.

예시를 보았을때, 음수를 입력받은경우(-121)에 그냥 121-이라는 형태로 뒤집은 모양이라는것과 뒤가 0으로 끝나는 값(10)이 뒤집은 모양이 01로 되는것을 볼때
숫자라는 특성에 대한 고려보단 각각을 문자처럼 처리해야 한다고 생각하였습니다.

입력받은 값을 문자열처리를 하고,
그것을 뒤집어서 새로운 변수에 담고나서 서로 동일한지 여부를 비교해서 True값과 False값이 return되도록 처리를 함으로써 문제를 해결하였습니다.

정답코드

def same_reverse(num):
	str_num = str(num)
	reverse_num = str_num[::-1]
	if str_num == reverse_num:
	  return True
	else:
	  return False
profile
개발공부를 하면서 배우고 경험하고 앞으로 알아가야할것들에 대해서 정리하고 있습니다 🙂

0개의 댓글