[1,2,3]
의 배열을 사용했습니다.lst[a],lst[b] = lst[b],lst[a] #배열의 a번째 원소와 b번째 원소의 값이 서로 바뀝니다
M
번 실행합니다.lst = [1,2,3] #컵의 개수는 항상 일정합니다
M = int(input()) #컵의 위치를 바꾼 횟수입니다
for _ in range(M): #컵의 위치를 바꾼만큼 반복합니다
a,b = list(map(int,input().split(' '))) #어떤 컵의 위치를 바꿨는지를 변수로 받습니다
idx_a,idx_b = lst.index(a), lst.index(b) #해당 컵이 현재 몇 번째 위치에 존재하는지 index함수를 통해 파악합니다
lst[idx_a],lst[idx_b] = lst[idx_b],lst[idx_a] #두 컵의 위치를 바꿉니다
print(lst[0])
.index()
함수의 시간복잡도는 O(n)입니다.이분탐색
을 사용하면 시간복잡도를 O(log(n))으로 줄일 수 있습니다.