여기에 두 가지 목록이 제공됩니다. 우리의 임무는 주어진 두 목록이 순환적으로 동일한지 아닌지를 확인하고 발견하는 것입니다.
예시
입력 :A =[100, 100, 10, 10, 100] B =[100, 100, 100, 10, 10]출력 :참
설명
목록의 이러한 요소가 순환 회전하면 다른 주어진 목록과 유사하므로 참입니다.
알고리즘
1단계:첫 번째와 두 번째 목록을 만듭니다.2단계:그런 다음 목록을 map으로 변환합니다.3단계:목록 개체를 문자열로 변환하는 데 join() 메서드를 사용합니다.3단계:목록 A를 두 배로 늘리고 다음으로 변환합니다. map.Step 4:두 목록을 비교합니다. 결과가 참이면 두 개의 목록이 순환적으로 동일하고 거짓을 반환하면 순환적으로 동일하지 않습니다.
예시 코드
# 두 리스트가 순환적으로 동일한지 확인하는 파이썬 프로그램A=list()n=int(input("Enter the size of the First List ::"))print("Enter the Element of First List ::")for i in range(int(n)):k=int(input("")) A.append(k)B=list()n1=int(input("두 번째 목록의 크기를 입력하세요. ::"))print("두 번째 목록의 요소를 입력하세요 ::")for i in range(int(n1)):k=int(input("")) B.append(k)C=list( )n3=int(input("세 번째 목록의 크기를 입력하세요 ::"))print("세 번째 목록의 요소를 입력하세요 ::")for i in range(int(n3)):k=int(input ("")) C.append(k)print("첫 번째 목록과 두 번째 목록 비교 ::>")print(' '.join(map(str, B)) in ' '.join(map(str, A * 2)))print("두 번째 목록과 세 번째 목록 비교 ::>")print(' '.join(map(str, C)) in ' '.join(map(str, A * 2)))사전>출력
첫 번째 목록의 크기 입력 ::5첫 번째 목록의 요소 입력 ::10100010두 번째 목록의 크기 입력 ::5두 번째 목록의 요소 입력 ::10101000세 번째 목록의 크기 입력 ::5요소 입력 세 번째 목록의 ::1101000첫 번째 목록과 두 번째 목록 비교 ::>TrueCompare 두 번째 목록과 세 번째 목록 ::>False