데크 (Deque)
·
[CS] - Data Structure
저번 포스트에서는 나서스의 스택에 스택과 큐에 대해 알아보았다. 이번 포스트에서는 큐의 연장선상 개념(?)인 데크에 대해서 알아보겠다. 데크는 풀네임 영어로 Double Ended Queue를 의미한다. 즉, 양방향으로 끝이 존재하는 큐를 뜻한다. 이번에도 역시 그림을 그려보자. 큐와 모양 자체는 똑같다! 하지만, 큐는 한뱡으로 들어가고 나갈 수 없는 방면에 데크는 양끝에 데이터가 들어오고 나갈 수 있는 특징이 있다. 그렇다면 데크를 왜 사용하는지 알아보자. 이는 파이썬의 리스트 자료형과 비교하면 알 수 있다. 우리가 리스트에 insert하는 과정을 그림으로 그리면 다음과 같다. 먼저 insert를 하기 위한 공간 하나를 할당해주어야 한다. 그 다음 기존에 존재하던 자료의 갯수(N개, 위 그림에서는 ..
[Tip] 딕셔너리 Fancy하게 다루기
·
[Language] - Python
개요이번 포스트에서 다룰 내용은 딕셔너리를 좀더 fancy하게 다루는 방법들을 알아보려고 한다. 물론 기본 문법(for loop, if, ..)들로도 충분히 원하는 딕셔너리에 대한 데이터 전처리가 가능하지만, 가능한 가독성이 좋고 Python에서 지원하는 문법들을 적극 활용하여 딕셔너리를 다룰 수 있는 방법들이 있다. 딕셔너리 컴프리헨션 (Dictionary Comprehension)# 컴프리헨션 적용 전squares = {}for x in range(10): squares[x] = x ** 2# 컴프리헨션 적용 후 ({키: 밸류 for 원소 in 반복할 iterable})squares = {x: x ** 2 for x in range(10)}print(squares) # {0: 0, 1: 1, ..