728x90
반응형
[Python] 10811번 문제
반응형
풀이
n,m = map(int, input().split())
바구니 수 N, 반복 횟수M을 입력 받습니다
basket = [i for i in range(1,n+1)]
basket이라는 배열에 1부터 N까지 값을 넣습니다.
n+1까지 해줘야 N까지 들어가겠죠?
temp = 0
temp라는 변수를 -으로 최기화 해둡니다.
for x in range(m):
i,j = map(int, input().split())
temp = basket[i-1:j]
temp.reverse()
basket[i-1:j] = temp
반복 횟수 M만큼 반복하면서 i,j를 입력 받습니다.
temp = 1부터 시작했으므로 basket의 i-1번째부터 시작, j는 포함해야하니 -1하지않고 슬라이싱 해주고
reverse()함수를 사용해 순서를 역순으로 바꿉니다.
그리고 다시 basket의 i-1:j를 temp 변수로 업데이트 해줍니다.
for x in range(n):
print(basket[x],end=" ")
순서를 바꾼 basket을 반복문을 통해 출력하는데 end=" "를 사용해 각 숫자마다 공백을 넣어서 출력합니다.
정답
n,m = map(int, input().split())
basket = [i for i in range(1,n+1)]
temp = 0
for x in range(m):
i,j = map(int, input().split())
temp = basket[i-1:j]
temp.reverse()
basket[i-1:j] = temp
for x in range(n):
print(basket[x],end=" ")
반응형
'알고리즘' 카테고리의 다른 글
[Python] 백준 10162 전자레인지 (0) | 2023.06.21 |
---|---|
[Python] 백준 1546 평균 (0) | 2023.06.21 |
[Python] 백준 3052 나머지 (0) | 2023.06.21 |
[Python] 백준 5597 과제 안 내신 분..? (0) | 2023.06.13 |
[Python] 백준 10813 공바꾸기 (0) | 2023.06.12 |