N, M = map(int, input().split())
basket = [e for e in range(1, N+1)]
for _ in range(M):
i, j = map(int, input().split())
save = basket[i-1]
basket[i-1] = basket[j-1]
basket[j-1] = save
print(*basket)
내가 쓴 코드는 위와 같다.
파이썬의 경우 내가 선언한 save(temp) 변수 필요 없이 한 번에 바꿀 수 있나봄.
basket[i-1], basket[j-1] = basket[j-1], basket[i-1]
이렇게 한 줄에 한 번에 쓰면 대입된 후의 값이 아니라 동시에?? 처리 되는 듯?(뭔 말 알??)
이런 것을 ‘병렬 할당(parallel assignment)’ 이라고 한다고 한다.
print(*basket)처럼 언패킹 하는 방법도 있지만
리스트 관련 함수인 Join()함수를 쓰는 것도 좋은 방법인 듯
→ print(’ ‘.join(basket))
join()
은 파이썬의 문자열 메서드로, 리스트나 튜플과 같은 iterable(반복 가능한) 객체의 원소들을 문자열로 결합하는 역할을 합니다.
result = separator.join(my_list)
아니면 반복문으로 print() end= 이거 쓰는 방법(기본?적인 느낌)