숫자 num의 목록이 있다고 가정합니다. 목록이 회문인지 아닌지 확인해야 합니다.
따라서 입력이 nums =[10, 12, 15, 12, 10]과 같으면 출력은 True가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- n :=숫자 크기
- is_palindrome 재설정
- i :=0
- i <=(n / 2)의 몫이고 n이 0이 아닌 동안 do
- nums[i]가 nums[n - i - 1]과 같지 않으면
- is_palindrome 설정
- 루프에서 나오다
- 나는 :=나는 + 1
- nums[i]가 nums[n - i - 1]과 같지 않으면
- is_palindrome이 설정되면
- 거짓을 반환
- 그렇지 않으면
- 참 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
def solve(nums): n = len(nums) is_palindrome = 0 i = 0 while i <= n // 2 and n != 0: if nums[i] != nums[n - i - 1]: is_palindrome = 1 break i += 1 if is_palindrome == 1: return False else: return True nums = [10, 12, 15, 12, 10] print(solve(nums))
입력
[10, 12, 15, 12, 10]
출력
True