티스토리 뷰

문제 링크

 

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))

10812 입출력 예

 

*key point: 10811번 문제에서 조금만 응용해주면 된다. 주어진 배열을 1 ~ i-1, i ~ k-1, k ~ j, j+1 ~ n 으로 4등분 하여 가운데 두 파트를 서로 교환해주면 된다. 공번호는 1번부터 시작이므로 항상 index에 유의하여 헷갈리지 않게 신경써야 한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함