■ 백준 10811번 바구니 뒤집기 문제
■ 코드 풀이
아이디어는 다음과 같습니다.
1) 바구니 개수 N과 반복 횟수 M을 각각 입력 받습니다.
2) basket이라는 list를 선언하고 1부터 N까지 값을 채워 줍니다.
3) M번 동안 i와 j를 입력 받습니다.
4) basket의 i번째부터 j번째 바구니를 바꿔야 하므로, list index에 접근하기 위해 i-1을, j는 포함되어야 하므로 j-1+1 = j를 range로 하여 basket list를 slicing 합니다.
5) slicing한 값을 temp에 넣어두고 temp의 순서를 reverse 메서드를 활용하여 바꿔줍니다.
6) 순서를 바꾼 값을 다시 basket list에 업데이트 합니다.
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 = ' ')
'코딩 테스트 > Python_백준' 카테고리의 다른 글
[백준/Python] 11720번 숫자의 합 문제 (0) | 2023.03.22 |
---|---|
[백준/Python] 1546번 평균 문제 (0) | 2023.03.21 |
[백준/Python] 3052번 나머지 문제 (0) | 2023.03.20 |
[백준/Python] 5597번 과제 안 내신 분..? 문제 (0) | 2023.03.20 |
[백준/Python] 10813번 공 바꾸기 문제 (3) | 2023.03.19 |
댓글