Python으로 구현한 10811번 바구니 뒤집기 문제 풀이입니다.
https://www.acmicpc.net/problem/10811
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리스트의 값을 하나씩 출력한다.
'백준(Python) 풀이 > 구현' 카테고리의 다른 글
백준(Python) 17614번 369 풀이 (0) | 2021.12.03 |
---|---|
백준(Python) 14720번 우유 축제 풀이 (0) | 2021.12.01 |
백준(Python) 4493번 가위 바위 보? 풀이 (0) | 2021.12.01 |
백준(Python) 6321번 IBM 빼기 1 풀이 (0) | 2021.12.01 |
백준(Python) 4641번 Doubles 풀이 (0) | 2021.12.01 |