코딩테스트 공부/Python 4

Python) collections 내장 모듈

파이썬 collections 내장 모듈에서는 많은것을 지원해준다.. 일전에 정리한 적이 있었던 Counter 부터 deque, defaultdict, OrderedDict 등등.. 유용한 것들을 정리 해보도록 하자. #Ordereddict는 파이썬 3.6부터 dict가 이미 ordereddict처럼 값을 받은 순서대로 자료를 저장하게끔 해놓았기 때문에 딱히 사용할 필요가 없을듯! 1. Counter 먼저, Counter객체는 전에 정리 해놓았던 것을 참고 하도록하자. https://excelsior-cjh.tistory.com/94 collections 모듈 - Counter collections.Counter() 컨테이너에 동일한 값의 자료가 몇개인지를 파악하는데 사용하는 객체이다. docs.pytho..

자료구조) Heap자료구조와 파이썬 Heapq 내장모듈

https://www.daleseo.com/python-heapq/ [파이썬] heapq 모듈 사용법 Engineering Blog by Dale Seo www.daleseo.com https://gmlwjd9405.github.io/2018/05/10/data-structure-heap.html [자료구조] 힙(heap)이란 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io 먼저, 글을 작성하기에 앞서 위 두 블로그의 글을 참고했다는 점을 알린다. Heap 자료구조를 공부하는데 큰 도움이 되었다. 힙 자료구조 - "우선 순위 큐"를 위해 만들어진 자료구조 - "완전 이진 트리(binary tree)의 일종이다. - ..

파이썬) 딕셔너리에 대해 알아보자

Python을 하다보니 어느 순간부터 자꾸 리스트로만 문제를 해결하려고 하는 습 성이 생겼다. 그만큼 리스트는 잘 다루게 되었지만 한계점이 분명히 있는 자료형이니... 특히 Hash로 풀 수 있는 문제들이 많기때문에 딕셔너리에 대해서 자세히 알아보자! 1. 딕셔너리에 Key-Value 쌍 추가하기 - setdefault() : key-value 쌍 추가 - update() : key-value 쌍 추가 및 수정 2. 딕셔너리에 키와 기본값 저장하기 x = {'a':10, 'b':20, 'c':30, 'd':40} x.sedefault('e') 결과 : x = {'a':10, 'b':20, 'c':30, 'd':40} x.sedefault('f', 100) 결과 : 3. 딕셔너리의 value 수정하기 x...

Python) 빈 리스트 만들어보기 (Shallow Copy, Deep Copy)

파이썬 코드를 짜다보면 빈 리스트를 만들어야하는 경우가 종종 있다.. a = [0]*n 이런식으로 만들어도 큰 문제는 없다. 문제는 2차원으로 만들때다. a = [[0]]*n]*k 이렇게 만들면 아래와 같은 결과가 나오는데 이제 빈 리스트에 값을 할당해주면 이런식으로 모든 내부리스트의 원소에 1이 할당되는.. 기이한 현상이 일어난다. Shallow Copy가 일어나는 것 같은데 정확한 이유는 잘 모르겠다. Deep Copy와 Shallow Copy에 대한 내용은 아래 블로그를 참고하자. https://blueshw.github.io/2016/01/20/shallow-copy-deep-copy/ 얕은 복사(shallow copy) vs 깊은 복사(deep copy) 이번에는 객체의 복사에 대해서 알아보려고..