[Python] Code Kata Day4

rang-dev·2020년 6월 11일
0

Wecode - Code Kata

목록 보기
4/18

문제

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

내코드

def same_reverse(num):
    str_num = str(num)
    reversed_num = str_num[::-1]
    if str_num == reversed_num:
        return True
    return False

엊그제 했던 코드카타 문제와 비슷해서 금방 풀 수 있었다. [::-1]꿀팁 바로 써먹기~!

Model Solution

def same_reverse(num):
	num =str(num)
	is_palindrome = True
	for i in range(len(num) // 2):
		if num[i] != num[-1 - i]:
			is_palindrome = False
			
	return is_palindrome

답안에서는 서로 대칭되는 index의 값을 비교하여 서로 같은지 아닌지를 판별했다.
index는 절반까지만 돌게하고, 홀수개만 있을때는 가장 중앙의 index는 비교할 짝이 없으므로 소숫점은 신경쓰지 않아도 된다. 즉, len(num)을 2로 나눈 몫만큼만 for문 돌기

profile
지금 있는 곳에서, 내가 가진 것으로, 할 수 있는 일을 하기 🐢

0개의 댓글