BeakJoon/Python
[Python] 백준 #10811번 : 바구니 뒤집기
쿼딩~
2023. 9. 29. 14:09
문제
조건
- 첫째 줄에 N과 M을 입력받고 각각 바구니의 수와 입력받는 수이다
- 총 N줄 입력받아야 하고 각 줄에 i와 j를 입력받아야 한다
- i와 j는 i 번째 바구니 부터 j 번째 바구니 까지 순서를 거꾸로 바꿔야한다
- 출력창에 한 줄로 출력해야한다( '[ ]' 없이 )
코드
#빠른 컴파일을 위해 sys.stdin.readline()을 쓰기 위해 불러옴
import sys
#바구니 리스트
basket = []
#바구니의 총 개수와 반복문 반복 할 횟수입력 (첫째 줄 입력)
N,M = map(int, sys.stdin.readline().split())
#바구니 N개의 리스트
basket = [i for i in range (1,N+1)]
#M번 범위 입력받고 그 범위 만큼 바구니 리스트 역순으로 바꿔줌
for _ in range (M):
i,j = map(int, sys.stdin.readline().split())
# ※중요※
# reversed함수 범위를 정하는 방법
# ex) list[범위1:범위2] = reversed(basket[범위1:범위2])
basket[i-1:j] = reversed(basket[i-1:j])
#print함수에 바구니 리스트 요소를 각각 전달해서(언패킹) 요소들을 한 줄로 출력
print (*basket)
알게된 점
- list[i-1:j] = reversed(list[i-1:j]) 이 코드는 리스트에서 i요소 부터 j요소 까지 순서를 거꾸로 바꾸는 코드이다.