https://www.acmicpc.net/problem/10811
10811번: 바구니 뒤집기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2
www.acmicpc.net
접근법
: 리스트 슬라이싱을 이용하기로 함
- 일단 N개의 바구니를 생성
- 바구니 뒤집기 = reversed() 함수 이용
- basket[start:end] = reversed(basket[start:end])
- start번부터 end번까지의 바구니를 바꿔야함 → 이때 슬라이싱 이용
- 입력받은 값을 바로 인덱스 번호로 사용해줌
- 대괄호, 쉼표 없이 출력하려면 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)
'🖥️ 오늘의 백준' 카테고리의 다른 글
백준 2563번 : 색종이 [Python] (0) | 2023.04.07 |
---|---|
백준 2745번 : 진법 변환 | 진법 변환 방법 [Python] (0) | 2023.04.05 |
백준 5724번 : 파인만 [C] (0) | 2023.04.02 |
백준 2776번 : 암기왕 [C++] (0) | 2023.04.02 |
오늘의 백준 - 2491번 : 수열 [C++] (0) | 2023.03.31 |