이 시험같은 경우 제출하면 사라져버리는 문제이기에 최대한 기억나는 대로 서술하겠습니다.
우선 여러 개의 숫자가 들어있는 리스트 2개를 받습니다. 그 중 첫번째 여러 개의 숫자가 있는 리스트를 받아 이 리스트의 숫자를 맨 앞의 숫자를 맨 뒤로 보내고, 그러고 난 후 다시 맨 앞의 숫자를 다시 맨 뒤로 보내고 이 과정을 반복을 할 경우, 만약 두번째로 받은 리스트와 동일할 경우 True값을 반환하고 아닌 경우는 False를 반환합니다.
접근방식
우선 효율성을 위해 만약 두 리스트의 원소가 하나라도 같지 않으면 어차피 맨 앞 숫자를 뒤로 보내든 절대 같을 수가 없기에 False를 반환해주고 나머지의 경우에 대해서만 반복문을 돌렸습니다. 반복문은 말그대로 원소를 회전시킵니다.
def solution(arrA, arrB):
answer =[]
if sorted(arrA) != sorted(arrB):
return False
else: ##안에 있는 원소가 다 같아야 원소 회전에 의미있음
for i in range(len(arrA)):
arrA.insert(0, arrA[-1])
del arrA[-1]
if arrA == arrB:
answer.append("True")
else:
answer.append("False")
if "True" in answer:
return True
else:
return False
시험 순간에 캡쳐할 시간이 없었네요...ㅠ 결론적으로는 100점이 나왔습니다.