What I Learned/Algorithm Practice
[백준 - python] 10812번: 바구니 순서 바꾸기
Interrobang
2023. 8. 5. 16:11
문제 링크
10812번: 바구니 순서 바꾸기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2
www.acmicpc.net
문제 풀이
n, m = map(int, input().split())
answer = [i for i in range(1, n+1)]
for _ in range(m):
i, j, k= map(int, input().split())
answer = answer[:i-1] + answer[k-1:j] + answer[i-1:k-1] + answer[j:]
print(' '.join(str(n) for n in answer))
*key point: 10811번 문제에서 조금만 응용해주면 된다. 주어진 배열을 1 ~ i-1, i ~ k-1, k ~ j, j+1 ~ n 으로 4등분 하여 가운데 두 파트를 서로 교환해주면 된다. 공번호는 1번부터 시작이므로 항상 index에 유의하여 헷갈리지 않게 신경써야 한다.