문제와 입출력 조건은 다음과 같다.
처음에 3개의 컵이 있고 1번 컵 아래에 공이 있다.
두 컵의 위치를 서로 바꿀 때마다 공의 위치를 추적해야 한다.
공은 컵과 함께 이동하지 않고 원래 있던 자리에 그대로 있다.
공이 몇 번 컵 아래 있는지만 알면 된다.
공이 있는 컵이 이동하면 -> 공 위치를 업데이트
공이 없는 컵들끼리 이동하면 -> 아무것도 안 해도 됨
처음에 공은 1번 컵 아래에 있고 공의 현재 위치를 추적
두 컵의 위치를 바꿀 때마다 공이 있는 컵이 이동하는 경우에만 현재 위치 업데이트
최종 컵 번호 출력..
def find_ball_position(M, swaps):
ball_position = 1
# 각각의 컵 위치 교환
for x, y in swaps:
# 공이 x위치에 있다면 y위치로 이동
if ball_position == x:
ball_position = y
# 공이 y위치에 있다면 x위치로 이동
elif ball_position == y:
ball_position = x
# 공이 x나 y 위치에 없다면 그대로 유지
return ball_position
def main():
M = int(input())
swaps = []
for _ in range(M):
x, y = map(int, input().split())
swaps.append((x, y))
# 최종적으로 공이 있는 컵의 번호 찾아 출력
result = find_ball_position(M, swaps)
print(result)
if __name__ == "__main__":
main()
'프로그래머스, 백준' 카테고리의 다른 글
백준_1453번 피시방 알바 (0) | 2024.11.27 |
---|---|
백준_1098번 쌍둥이 마을 (0) | 2024.11.20 |
백준_1074번_Z (0) | 2024.11.16 |
1033번 칵테일 (0) | 2024.11.13 |
백준_1063번 킹 (0) | 2024.11.11 |