python의 list는 string처럼 indexing, slicing이 가능하다list L에 대하여 Lb:e:s로 slicing이 가능하다b = begin, e = end, s = steps > 0일 때, b < e이어야 하고 s < 0일 때 b > e이
해시 테이블은 key-value로 저장하는 자료구조이다.python에서는 dictionary로 쉽게 구현할 수 있다.간단하게 Dkey = value로 생각하면 쉽다.빈 사전은 다음과 같이 초기화환다.데이터의 추가, 삭제는 다음과 같다데이터의 접근방법은 다음과 같다D =
stack은 LIFO(Last In, First Out)의 형태를 지닌 자료구조이다.PUSH: 새로 들어온 data를 가장 위에 저장한다. O(1)POP: 가장 위에 있는(가장 나중에 들어온) data를 제거한다. O(1)TOP: 가장 위에 있는 data를 반환한다.C
stackoverflow에서 python 답변을 보다보면 lambda를 많이 쓴다.C/C++에 익숙한 나에겐 아직도 python을 C++처럼 쓰게 되는데 이게 무슨소리인지 모르겠다. 그래서 공부해보자! (사실 C++도 람다식을 지원한다)anonymous function
BOJ 2776 암기왕주어진 수가 있는지 없는지 확인하는 자료구조가 필요하다. 대표적으로 원소의 존재성은 아래의 자료구조 중에서 선택한다.리스트를 정렬한 후 binary search(이분탐색)로 확인.set(집합) 자료구조 이용.hash(hash, map, dict)
1. 그래프의 표현 방법 그래프는 인접행렬, 인접리스트로 구현할 수 있다. 인접행렬은 구현은 쉽지만 그래프의 탐색, 이후 그래프 알고리즘에 적용하면 효율이 매우 나빠진다. 따라서 인접리스트로 구현하도록 한다. 그러나, 코딩테스트에서 언제 인접리스트로 다 구현할 것인가
board = \[0 \* (N) for \_ in range(N)]board = \[0 \* (col) for \_ in range(row)]L = \[\[0 for col in range(3) for row in range(4)] for depth in range(