코드카타 Week1-Day4

최대환·2021년 5월 9일
0

알고리즘

목록 보기
3/8

문제

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

  • my solution
def same_reverse(num):
  num = str(num)
  return num == num[len(num)::-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

for문을 돌려 반절이 되기전까지의 숫자의 인덱스를 출력하고, 맨처음이랑 맨마지막 두번째 처음이랑 두번째 마지막이랑 비교하면서 결과를 구한거 같다. num[i] != num[-1 - i] 이런식으로 앞에 값과 뒤의값을 비교하는건 나중에 한번 써먹어야겠다.

profile
나의 개발지식 output 공간

0개의 댓글