백준 10813번 공 바꾸기 파이썬

·2023년 8월 9일
0
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)’ 이라고 한다고 한다.

Untitled

print(*basket)처럼 언패킹 하는 방법도 있지만

리스트 관련 함수인 Join()함수를 쓰는 것도 좋은 방법인 듯

→ print(’ ‘.join(basket))

join()은 파이썬의 문자열 메서드로, 리스트나 튜플과 같은 iterable(반복 가능한) 객체의 원소들을 문자열로 결합하는 역할을 합니다.

result = separator.join(my_list)

아니면 반복문으로 print() end= 이거 쓰는 방법(기본?적인 느낌)

0개의 댓글