티스토리 뷰

🚀접근하기

 배열에서 두 항목을 교환시켜 결국엔 사용자가 원하는대로 바구니를 뒤집어주면 되는 문제

🎉코드

N, M = map(int, input().split())

basket=[]

for i in range(0, N+1):
    basket.append(i)

for i in range(M):
    s1, s2 = map(int, input().split())

    while(s1 < s2):
        basket[s1], basket[s2] = basket[s2], basket[s1]
        s1 += 1
        s2 -= 1

for i in range(1, N+1):
    print(basket[i], end=' ')

 

문자열을 받아 공백을 기준으로 split 시키고, map 함수를 이용하여 s1, s2에 넣어주었다. 
또한 이번에 새로 알게된 것이 있는데, 배열에서 두 개의 항목을 교환할 때 따로 swap 변수를 만들어줄 필요 없이 
basket[s1], basket[s2] = basket[s2], basket[s1] 이렇게 써주면 바로 교환이 된다는 것을 알게 되었다.
 
따라서 s1 < s2 일 동안 두 항목을 교환시켜주고, s1은 1씩 증가, s2는 1씩 감소시켜주면 된다.

💪다짐

map 함수등 다양한 파이썬 함수들을 더 많이 배워 사용해야겠다
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함