알고리즘/Python
-
sort 와 lambda의 조합식알고리즘/Python 2021. 12. 12. 15:17
리트코드 로그파일 재정렬 문제를 보면서 sort 와 lambda의 조합식을 보고 벙쪘다. javascript 에서는 lambda 표현식을 참 유용하게 썼는데, 파이썬에서 마주치니 낯설 따름이다. >>> def func(x): return x.split()[1:], x.split[0] >>> s.sort(key=func) >>> s 각 아이템의 첫 요소 순이 아닌 그 뒤에 요소들 순으로 정렬을 원하며, 뒤의 요소들이 동일할 경우에만 첫번째 요소 순으로 정렬되는 규칙을 원할 때 이런식으로 함수를 sort key로 줬어야 하는 것을 lambda 표현식으로 >>> s.sort(key=lambda x: (x.split()[1:], x.split()[0])) >>> s 요렇게 간결하게 표현해낼 수 있다... sor..
-
python 정규식 표현 raw string(r')알고리즘/Python 2021. 11. 14. 16:19
파이썬 알고리즘 인터뷰를 읽는 중, 금지된 단어를 제외한 가장 흔하게 등장하는 단어를 출력하는 문제에서 아래와 같은 풀이가 등장했다. 참고 : 리트코드 819(https://leetcode.com/problems/most-common-word/) words = [word for word in re.sub(r'[^\w], ' ', paragraph) .lower().split() if word not in banned] 대소문자가 섞여 있고, 쉼표 및 구두점을 정제하는 입력값 전처리 작업으로 정규식을 쓴 코드인데 정규식의 r' 이 뭔지 모르겠는 것이다. 이것은 raw string의 표기법이라고 하며, 특수기호(예: 백슬래시)를 해석하지 않고 남겨두는 역할을 한다고 한다. 백슬래시를 두번씩 사용해서 지저분해..