본문 바로가기
백준

[백준] 10813번 : 공 바꾸기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 9. 28.
728x90
반응형

 

 

10813번: 공 바꾸기

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

  1. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
  2. 바구니 개수와 공을 옮길 횟수를 입력받는다. N, M = map(int, sys.stdin.readline().split())
  3. 각 바구니에는 각 바구니의 번호와 같은 공이 들어있다. basket = list(i for i in range(N + 1))
  4. 공을 옮길 횟수만큼 반복하며 for _ in range(M)
  5. 공을 바꿀 바구니의 번호를 입력받는다. i, j = map(int, sys.stdin.readline().split())
  6. 입력받은 두 바구니 안의 공을 바꾼다. basket[i], basket[j] = basket[j], basket[i]
  7. 최종적으로 바꾼 결과를 0번을 제외하고 하나씩 불러오며 for i in range(1, N + 1)
  8. 각 바구니에 들어있는 공의 번호를 한 줄로 출력한다. print(basket[i], end=' ')
반응형

3. 소스코드

import sys

N, M = map(int, sys.stdin.readline().split())

basket = list(i for i in range(N + 1))
for _ in range(M):
    i, j = map(int, sys.stdin.readline().split())
    basket[i], basket[j] = basket[j], basket[i]
    
for i in range(1, N + 1):
    print(basket[i], end=' ')
728x90
반응형