728x90
반응형
[Python] 10813번 문제
반응형
풀이
n,m = map(int, input().split())
basket = [0]*n
temp = 0
바구니의 개수 N과 공 바꿀 횟수 M을 입력받습니다.
나중에 사용할 temp라는 변수는 0으로 초기화합니다.
for x in range(n):
basket[x] = x+1
basket의 0번째 = 1, 1번째 = 2가 들어가야 하니
x값을 1 더해서 넣어줍니다.
for x in range(m):
i,j = map(int, input().split())
temp = basket[i-1]
basket[i-1] = basket[j-1]
basket[j-1] = temp
공을 바꿀 횟수 M을 이용해 for문을 사용하고 그만큼 바꿀 두 바구니 i, j를 입력받습니다.
두 수를 입력받으면 두 공의 번호를 Swap 하기 위해서 한 공을 temp라는 변수에 임시로 넣어두고 치환합니다.
이때 1번 공은 basket의 0번째 인덱스이므로 i, j는 -1씩 해줍니다.
for x in range(n):
print(basket[x], end=" ")
이제 바뀐 공들을 출력하기 위해 바구니 N만큼 반복하고
공백 있게 한 줄로 출력하기 위해 end=" "를 붙여줍니다.
정답
n,m = map(int, input().split())
basket = [0]*n
temp = n+1
for x in range(n):
basket[x] = x+1
for x in range(m):
i,j = map(int, input().split())
temp = basket[i-1]
basket[i-1] = basket[j-1]
basket[j-1] = temp
for x in range(n):
print(basket[x], end=" ")
반응형
'알고리즘' 카테고리의 다른 글
[Python] 백준 1546 평균 (0) | 2023.06.21 |
---|---|
[Python] 백준 10811 바구니 뒤집기 (0) | 2023.06.21 |
[Python] 백준 3052 나머지 (0) | 2023.06.21 |
[Python] 백준 5597 과제 안 내신 분..? (0) | 2023.06.13 |
[Python] 백준 10810 공 넣기 (0) | 2023.06.12 |