CK week 1 day 4

BnDC·2021년 9월 16일
0

code Kata

목록 보기
4/22

🧨 문제

숫자인 num을 받아 num이 회문(palindrome) 인지 아닌지를 반환 하는 함수를 만들어라.
회문이면 True 아니면 False를 반환
(단, 부호 포함하여 검사한다)

회문?
제대로 읽은것과 거꾸로 읽은 것과 같은 문자열

ex)
1234321, 11211, 9521259 ....






🎯 내 풀이


def same_reverse(num):
    #step 1
    reverse_num=list(str(num)) 
    num을 문자열로 만들어 다시 그 요소들을 list에 담는 변수
    
    #step 2
    reverse_num.reverse() 
    #list로 만든 reverse_num을 뒤집는다.
	
    #step 3
    result=''.join(reverse_num)
    # result에 reverse_num의 원소들을 str로 바꾸어 담는다

    return result == str(num)
    



📍 step 1

num=12345 
-> reversed_num=['1', '2', '3', '4', '5']

📍 step 2

reversed_num = ['5', '4', '3', '2', '1']

📍 step 3

result='54321'

return '54321'=='12345'






✍ 짝 풀이


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

내가 다른 풀이로 생각한것과 같은 방법으로
잘 풀어 주셨다.

그런데, 나는 len(str_num)을 모두 검사 하도록 했다. 회문은 대칭적임으로 앞쪽 반쪽만 검사해도 충분하다. 그 중복도 잘 제거해 주셨다.

profile
“Life is C (Choice) between B (Birth) and D (Death).” - 인생은 B와 D사이의 C

0개의 댓글