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리스트의 값을 하나씩 출력한다.
'백준(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 |