Codecata ⎜ 뒤집은 숫자가 처음과 같은지 여부

뒤집은 숫자가 처음과 같은지 여부

문제

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

내가 한 풀이

접근방법
가장 단순한 로직으로 접근하지 않았나 싶다. num을 string으로 바꾸고 for문으로 뒤집고 일치 여부를 확인했다.

보안해야 할 점 위코드 답에 비해 else가 한번 더 들어갔고 range 범위도 위코드답은 1/2인 반면 string 전체에 접근을 했다.

def same_reverse(num):
    num_str = str(num)
    num_str_reverse = ""
    for word in num_str[::-1]:
        num_str_reverse += word
    if num_str_reverse == num_str:
        return True
    else:
        return False


print(same_reverse(1221))
print(same_reverse(11212221))
print(same_reverse(-1221))

위코드 풀이

Boolean값을 변수선언으로 로직이 시작된다. 아직까지 Boolean 값을 변수로 주는 것에 대해 익숙하지 않다.

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

댓글남기기