Set
-
CTCI | 중복 없애기Algorithm/Linked List 2024. 4. 2. 16:03
Cracking the Coding Interview 문제: 정렬되어있지 않은 Linked List에서 중복되는 원소를 제거하는 코드 작성하기 우선 Linked List의 특징은, head에 대한 포인트를 갖고 시작한다는것과, 사이즈가 얼마나 될지 알지 못한다는 것이다. 이 문제를 풀 수 있는 가장 간단한 방법은, Set을 사용해서 지금까지 등장한 원소들을 저장해가면서, 만약 Set에 없다면, Set에 추가하고 넘어가고, 만약, Set에 존재한다면, 그 해당 노드를 건너뛰는 방식으로 진행할 수 있다. 여기서 또 한가지 생각해야하는것은 Deletion과 Edge케이스이다. 먼저, Delete를 어떻게 해나갈지, LinkedList를 그려가며 생각해보자. head 노드에서 2번 이동한 노드가, 중복 노드라고..
-
Python's Sequential TypeComputer Science/Basic Programming with Python 2021. 11. 8. 22:34
Sequential Type Sequential Type이란, 값들이 연속적으로 저장된 형태를 뜻하는데, string도 Sequential Type에 속한다. Python에서는 List와 Tuple이 있다. Sequential Type에서는 아래와 같은 연산들을 할 수 있다. index: A[3] slicing: A[3:6] connect: + repeat: * find: in length: len() List Python의 리스트는, 어떤 값들을 정렬해서 갖고있는 형태이다. 숫자나 string등 다양한 형태를 말그대로 리스트를 만들어서 저장하는것이다. 아래 예시를 보자. a = [1, 2, 3, 4] print(a) [1, 2, 3, 4] 아래와같이 숫자를 갖고있는 리스트를 프린트 하면, 리스트가 프린..