다중 할당 파이썬에서 다중 할당은 2개 이상의 값을 2개 이상의 변수에 동시에 할당하는 것을 말한다. 이 문제를 보면 다음과 같이 3개의 변수에 3개의 값을 할당한 바 있다. rev, rev.next, slow = slow, rev, slow.next 다음과 같이 두 줄로 분기하면 훨씬 더 가독성이 높은데, 굳이 한 줄로 처리한데에는 이유가 있다. rev, rev.next = slow, rev slow = slow.next 이렇게 두 줄로 늘어트릴 경우 rev, rev.next = slow, rev라는 구문에서 slow와 rev가 동일한 참조가 된다. 구문 중간에 rev = slow가 있으니 서로 같은 값을 참조하게 되는 것이다. 파이썬에는 원시 타입(Primiltive Types)이 존재하지 않는다. ..
팰린드롬 연결 리스트 문제 링크 code class ListNode(): def __init__(self, x): self.val = x self.next = None class Solution(): def isPalindrome(self, head: ListNode) -> bool: rev = None slow = fast = head while fast and fast.next: fast = fast.next.next rev, rev.next, slow = slow, rev, slow.next # 역순으로 연결 리스트 rev를 생성하는 로직을 slow 앞에 덧붙인다. if fast: slow = slow.next while rev and rev.val == slow.val: slow, rev = sl..