-코드
n, m = map(int, input().split())
arr = [i for i in range(1, n + 1)]
for _ in range(m):
i, j = map(int, input().split())
arr[i - 1:j] = arr[i - 1:j][::-1]
print(*arr)
처음에 i - 1 위치와 j - 1위치를 바꾸는 문제인 줄 알고 했다가 틀리고 확인해보니 i - 1위 치에서 j - 1위 치까지 역행으로 바꾸는 것이어서 reverse를 이용하려고 했지만 범위지정이 안돼서 찾아보니 [::-1]이면 역순으로 만들어 주는 것이므로
arr[i - 1:j] = arr[i - 1:j][::-1]같이 입력을 하면 해당 부분만 역순으로 만들어지는 것을 알게 되어 해결하였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬]15969번 행복 (0) | 2021.07.13 |
---|---|
[백준/파이썬]2822번 점수 계산 (0) | 2021.07.13 |
[백준/파이썬]5666번 Hot Dogs (0) | 2021.07.12 |
[백준/파이썬]5054번 주차의 신 (0) | 2021.07.09 |
[백준/파이썬]9076번 점수 집계 (0) | 2021.07.08 |