티스토리 뷰

1. 문제

https://www.acmicpc.net/problem/10811

 

 

2. 풀이

import sys

n, m = map(int, input().split())

baskets_list = [int(x+1) for x in range(n)]

for k in range(m):
    i, j = map(int, sys.stdin.readline().split())
    num = j-i+1 # 바꿔야 하는 개수

    # 슬라이싱을 통해 목표 부분을 새로운 리스트로 뽑아낸 후,
    # 해당 목표 리스트를 역순으로 정렬한다.
    reverse_range_list = baskets_list[i-1:j]
    reverse_range_list.reverse()

    # 역순으로 정렬해둔 리스트의 요소들을 순서대로 목표 범위에 대입한다.
    for t in range(num):
        baskets_list[i-1] = reverse_range_list[t]
        i += 1

for index in range(len(baskets_list)):
    print(baskets_list[index], end=' ')
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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 31
글 보관함