Adventure Time - Jake [백준/python] 10811번: 바구니 뒤집기/ reverse(), [::-1]
본문 바로가기
Back-end/백준(python)

[백준/python] 10811번: 바구니 뒤집기/ reverse(), [::-1]

by bogyoi 2023. 10. 24.

 

 

N, M=map(int, input().strip().split())

arr=[0]*N
res=[]
for i in range(N):
    arr[i]=i+1
    
for i in range(M):
    a,b = map(int, input().strip().split())
    
    #(a-1)인덱스부터 b인덱스 전까지 역순. 
    #역순 하는 법 -> arr[::-1]  /  reverse()
    for j in range(a-1,b):
        res.append(arr[j])
        
    res.reverse()
    
    k=0
    for j in range(a-1,b):
        arr[j]=res[k]
        k+=1
     
for i in range(N):
    print(arr[i],end=' ')
    
 
 

 

다른 사람들이 쓴 코드 들

N, M = map(int, input().split())

basket = [i for i in range(1,N+1)]

for i in range(M):
    i,j = map(int, input().split())
    temp = basket[i-1:j]
    temp.reverse()
    basket[i-1:j] = temp

for i in range(N):
    print(basket[i], end = ' ')

 

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=' ')
N, M = map(int, input().split())
li = [i for i in range(N+1)]
for _ in range(M):
    i,j = map(int, input().split())
    li[i:j+1] = reversed(li[i:j+1])
li.remove(li[0])
print(*li)