본문 바로가기

🖥️ 오늘의 백준

백준 10811번 : 바구니 뒤집기 [Python]

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

 

10811번: 바구니 뒤집기

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

www.acmicpc.net

접근법

: 리스트 슬라이싱을 이용하기로 함

  1. 일단 N개의 바구니를 생성
  2. 바구니 뒤집기 = reversed() 함수 이용
    1. basket[start:end] = reversed(basket[start:end])
  3. start번부터 end번까지의 바구니를 바꿔야함 → 이때 슬라이싱 이용
    1. 입력받은 값을 바로 인덱스 번호로 사용해줌
  4. 대괄호, 쉼표 없이 출력하려면 print(*리스트명)

전체코드

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

basket = []
for _ in range(N): # N개의 바구니 생성
    basket.append(_+1)

for _ in range(M):
    s, end = map(int, input().split())
    start = s - 1
    basket[start:end] = reversed(basket[start:end])

print(*basket)