BOJ/Python

백준 1547번 공 파이썬

띵지니어 2021. 7. 28. 17:50

https://www.acmicpc.net/problem/1547

 

1547번: 공

첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것

www.acmicpc.net

정답률은 거의 70%에 도달할 정도로 난이도는 쉬운 문제다.

하지만 나는 문제를 이해를 못 해서 좀 헤매느라 시간이 걸렸었다..

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

map 함수를 통하여 컵 안의 공을 추적하는 거여서 리스트를 보기 쉽게 [0,1,0,0]로 놓고 시작했다.

그리고 C언어 같은 경우에 swap을 할때

int temp = 0;

temp = *a;

*a = *b;

*b = *temp 대충 이런 식으로 표현했는데, 파이썬은 바로 swap을 할 수 있다.

그래서

 

ball[x], ball[y] = ball[y], ball[x] 이런식으로 값을 swap 해주었다.

'BOJ > Python' 카테고리의 다른 글

백준 10172번 개 파이썬  (0) 2021.07.30
백준 10171번 고양이 파이썬  (0) 2021.07.30
백준 1247번 부호 파이썬  (0) 2021.07.28
백준 1546번 평균 파이썬  (0) 2021.07.27
백준 2562번 최댓값 파이썬  (0) 2021.07.24