본문 바로가기

Python/백준

#3 [python] 백준 10813번: 공 바꾸기

728x90

 

 

 문제 

배열 문제

 

python 코드

N,M = map(int,input().split())

Basket = [i for i  in range(1,N+1)]
temp = 0

for i in range(M):
    i,j =  map(int, input().split())
    temp = Basket[i-1]
    Basket[i-1] = Basket[j-1]
    Basket[j-1] = temp

for i in range(N):
    print(Basket[i],end=' ')

 

코드 풀이

 

1. Basket 리스트에 1부터 입력받은 N 까지의 숫자 입력

basket = [i for i in range(1,N+1)]

 

2. 바꾸는 값을 잠시 저장할 변수 temp 선언

temp = 0

3. 반복횟수 M번동안 for문을 돌면서 바꿀 바구니 i와 j를 입력 받기

for i in range(M):
    i,j = map(int, input().split())

 

4. i번째 바구니 값을 temp에 저장하고 i 번째 바구니에  j번째 바구니값 넣기

     temp = basket[i-1]
     basket[i-1] = basket[j-1]

5. j번째 바구니에 temp값 넣기

     basket[j-1] = temp

6. Basket 리스트 출력

for i in range(N):
    print(basket[i], end = ' ')

 

 

참고

https://kevinitcoding.tistory.com/entry/%EB%B0%B1%EC%A4%80Python-10813%EB%B2%88-%EA%B3%B5-%EB%B0%94%EA%BE%B8%EA%B8%B0-%EB%AC%B8%EC%A0%9C