BOJ

백준 1547번 - 공 [python]

SS_G 2023. 2. 13. 23:47
반응형

Python 코드

m = int(input())
cup = [0,1,2,3]

for i in range(m):
    x, y = map(int, input().split())
    cup[x], cup[y] = cup[y], cup[x]
print(cup.index(1))

Python 코드 풀이

1. 코드에 대한 전체적인 풀이

해당 문제는 컵안에 있는 공을 찾는건데, 1번 컵에 공을 하나 넣고 시작한다. 왼쪽부터 1번~3번까지 컵이 있으며 M번의 바꾼횟수와 x컵과 y컵의 위치를 서로 바꾸는 구간을 입력 받아서 공이 들어있는 컵의 번호를 찾는 문제다.

 

파이썬에서 swap를 쉽게 할 수 있어서 x,y를 swap 해주고 공이 들어있는 컵 1번을 index를 통해 찾아주었다.

ex) M이 4이고 x,y 가 3 1, 2 3, 3 1, 3 2 일때

[0, 3, 2, 1] [0, 3, 1, 2] [0, 2, 1, 3] [0, 2, 3, 1] 순서로 1의 위치가 바뀌는 것을 확인 할 수 있었고 마지막 리스트에 1이 3번째 index에 있으므로 테스트케이스가 잘 출력 되었다.

 

 

반응형