백준(Python) 풀이/구현

백준(Python) 10811번 바구니 뒤집기 풀이

개발윗미 2021. 12. 1. 11:40

Python으로 구현한 10811번 바구니 뒤집기 문제 풀이입니다.

 

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

 

10811번: 바구니 뒤집기

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2

www.acmicpc.net


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

data = [i for i in range(n + 1)]

for _ in range(m) :
  i, j = map(int, input().split())
  value = []
  for k in range(i, j + 1) :
    value.append(data[k])
  
  value = value[::-1]
  number = 0
  for k in range(i, j + 1) :
    data[k] = value[number]
    number += 1

for k in range(1, len(data)) :
  print(data[k], end=' ')

 

1. 입력받은 i부터 j 범위의 data 리스트 값을 value로 따로 뽑아내어 역순으로 순서를 바꾼다.

 

2. 바꾼 value 리스트 값을 하나씩 다시 data 리스트의 해당 범위에 갱신한다.

 

3. 최종적으로 data리스트의 값을 하나씩 출력한다.