백준 10811번: 바구니 뒤집기

2023. 8. 24. 13:54개인활동/코테

n, m = map(int, input().split())
list = list(range(n+1))
for i in range(m):
    j, k = map(int, input().split())
    list[j:k+1] = reversed(list[j:k+1])
    
print(*list[1:])

이 문제의 키포인트 swap

어떻게 swap하는가가 중요한 것같다.

 

나는 reversed를 이용하였는데, reversed는 리스트의 순서를 뒤바꿔주는 함수이다.

 

다른사람의 숏코드를 확인해본 결과

N,M,*l=map(int,open(0).read().split())
*A,=range(N+1)
while l:i,j,*l=l;A[i:j+1]=A[j:i-1:-1]
print(*A[1:])

이렇게 swap해주었다.

 

다들 비슷한 코드이다보니 이 문제도 따로 뜯어볼 것은 없는 것 같다.

 

오늘도 백준 풀기 끝

'개인활동 > 코테' 카테고리의 다른 글

백준 27866번: 문자와 문자열  (0) 2023.08.27
백준 1546번: 평균  (0) 2023.08.25
백준 3052번: 나머지  (0) 2023.08.23
백준 5597번: 과제 안 내신 분..?  (0) 2023.08.23
백준 10813번: 공바꾸기  (0) 2023.08.20