Python의 다중 할당 개념이 헷갈려서 정리하는 글 Python은 아래의 구문과 같이 동시에 여러 변수에 값을 할당하는 다중 할당을 지원한다. a, b = 1, 2 이렇게 동시에 a와 b에 값을 넣을 수 있다. 그런데 만약 동시에 같은 객체에 다중할당을 사용한다면 어떻게 될까? 다음과 같은 linked list 의 node class에서 다중할당을 한다고 해보자. # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next # list1 : 1 -> 3 -> 5 # list2 : 2 -> 4 -> 6 list1, list1.next..
https://leetcode.com/problems/trapping-rain-water Stack 문제를 보고 valid parenthesis 같은 느낌이 나서 stack으로 풀어야겠다! 라고 접근했는데 대략적인 방법은 맞았지만 실제로 완전히 이해하고 구현하기까지 엄청 오래 걸렸던 문제다..🥲 엄청 헷갈려서 그냥 다 프린트를 찍어보고 나서야 좀 감이 왔다. 일단 스택으로 풀 때 중요한 것은 1) 내려갔다가 다시 올라올 때 물의 양을 계산하는 것 2) 물의 양은 왼쪽, 오른쪽 기둥 중 더 낮은 기둥을 기준으로 계산하는 것 이다. class Solution: def trap(self, height: List[int]) -> int: stack = [] water = 0 for i in range(len(h..
https://leetcode.com/problems/group-anagrams/ Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once. defaultdict - key 값으로 묶기 defaultdict를 이용하여 동일한 key 값을 가진 string들 끼리 묶일 수 있도록 한다. 애너그램은 정렬했을 때 같은 문자가..