일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 링크명령어
- 코딩테스트
- 컴퓨터네트워크
- 제주코딩베이스캠프
- 코테
- 제주ICT
- 네트워크핵심정리
- 터미널명령어
- 파이썬
- 리눅스기초
- 리눅스셸명령어
- 네트워크기초
- 백준
- 네트워크
- Linux
- 리눅스
- 리눅스퍼미션
- 네트워크정리
- 백준1312
- 코테준비
- 디렉토리관리
- Python
- javascript
- 백준2587
- 파일명령어
- 더오름
- 네트워크면접
- 개발자
- 위니브
- 자료구조
- Today
- Total
목록제주코딩베이스캠프 (7)
hyei-devlog

트리(Tree)는 계층적인 구조를 가지는 비선형 자료구조다. 루트 노드(Root Node)에서 시작해 여러 개의 하위 노드(Child Node)로 확장되는 형태를 가진다. 트리는 데이터 탐색, 계층적 관계 표현 등에 많이 사용되며, 이진 트리(Binary Tree) 형태로 구현되는 경우가 많다. 트리의 기본 개념트리는 여러 개의 노드(Node)로 구성되며, 각 노드는 부모-자식 관계를 가진다. 그래프의 일종이지만, 순환(Cycle)이 없는 구조라는 점이 다르다. 트리의 주요 용어노드(Node): 트리의 기본 구성 요소로 데이터를 저장하는 단위루트 노드(Root Node): 트리의 최상단에 위치한 노드부모 노드(Parent Node): 어떤 노드를 포함하는 상위 노드자식 노드(Child Node): 특정..

큐(queue)는 컴퓨터의 기본적인 자료구조 중 하나로, 먼저 들어온 데이터가 먼저 나가는 구조(FIFO, First In First Out)를 가진다. 쉽게 말해, 줄을 서서 기다리는 것과 같은 개념이다. 데이터를 넣는 작업을 put, 데이터를 꺼내는 작업을 get이라고 한다.파이썬에서는 insert(0, 값)과 pop(0)을 사용하여 큐를 구현할 수 있고, 자바스크립트에서는 unshift()와 shift()를 활용할 수 있다. 큐의 동작 원리새로운 데이터는 항상 rear(뒤쪽 끝)에서 추가된다.데이터를 꺼낼 때는 front(앞쪽 끝)에서 제거된다.가장 먼저 들어온 데이터가 가장 먼저 제거된다.큐가 가득 차면 Overflow, 비어 있으면 Underflow 상태가 된다. 큐의 용어put: 큐에 데이터..

스택(stack)은 데이터가 한쪽 끝에서만 들어오고 나가는 자료구조다. 쉽게 말해, 마지막에 넣은 데이터가 가장 먼저 나오는 구조로 동작한다. 이를 LIFO(Last In, First Out) 구조라고도 한다. 예를 들어, 책을 쌓아 올릴 때 가장 위에 놓인 책을 먼저 꺼내는 것과 같은 방식이다. 데이터를 넣는 것을 push(푸쉬), 데이터를 꺼내는 것을 pop(팝)이라고 한다. 스택의 동작 원리데이터를 스택에 넣으면(top이 가리키는 위치에 추가) push 연산이 수행된다.데이터를 스택에서 꺼내면(top이 가리키는 데이터를 제거) pop 연산이 수행된다.가장 마지막에 추가된 데이터가 가장 먼저 제거된다.스택이 비었는지 확인할 수도 있다. 스택의 연산스택에서 기본적으로 제공하는 연산은 다음과 같다.pu..

Python의 collections 모듈은 다양한 형태의 컨테이너를 제공하여 데이터 조작을 쉽고 효율적으로 할 수 있다. 1. deque deque는 양쪽 끝에서 요소를 추가하거나 제거할 수 있는 스레드-안전한 양방향 큐이다.from collections import dequed = deque()d.append('a') # 오른쪽 끝에 추가d.appendleft('b') # 왼쪽 끝에 추가d.pop() # 오른쪽 끝 요소 제거d.popleft() # 왼쪽 끝 요소 제거d = deque()d = ['a', 'b', 'c']d.rotate(1) # ['c', 'a', 'b'] 한번 더 쓰면 b가 앞에온다. 알고리즘에서 자주 사용된다. 2. Counter Counter는 요소의 개수를 세는데 사용되는..

💡 이터레이터(Iterator)이터레이터란, 값을 차례대로 꺼낼 수 있는 객체를 의미한다. 이는 파이썬의 리스트, 튜플, 문자열 같은 컬렉션 타입들을 의미한다. 이러한 이터러블 객체들은 iter() 함수를 사용해 이터레이터로 변환될 수 있다. 이터레이터 객체는 next() 함수를 사용해 값을 순차적으로 꺼낼 수 있다.my_list = [1, 2, 3, 4]my_iter = iter(my_list) # my_list에 __iter__가 호출된다.print(next(my_iter)) # 출력: 1 # my_list에 __next__가 호출된다.print(next(my_iter)) # 출력: 2 # my_list에 __next__가 호출된다. 이터레이터가 더 이상 꺼낼 요소가 없을 때 next()를 호출..

💡 컴프리헨션 (comprehension)Python의 컴프리헨션(comprehension) 문법은 기존 시퀀스(sequence), 이터러블(iterable), 또는 다른 표현식들로부터 새로운 시퀀스를 생성하는 간결하고 가독성 있는 방법이다. Python에서는 몇 가지 타입의 컴프리헨션을 사용할 수 있다:리스트 컴프리헨션, 딕셔너리 컴프리헨션, 세트 컴프리헨션, 제너레이터 컴프리헨션 🧐 컴프리헨션 문법은 2중 for문 등을 사용하지 않도록 권장한다! google convention에도 동일하게 권고하고 있다. 만약 2중으로 써야 할 경우 문법을 풀어서 쓰길 권장한다. 1. 리스트 컴프리헨션: 리스트 컴프리헨션은 가장 일반적으로 사용되며, 대괄호([]) 사이에 표현식과 for문을 넣어 리스트를 생성한..

💡 왈러스 연산자1. 왈러스 연산자란?Python 3.8에서 도입된 왈러스 연산자( := )는 할당 표현식(assignment expressions)를 사용하게 해주는 연산자이다.이 연산자는 "이름을 표현식의 결과에 연결"하거나 "값을 이름에 할당하면서 그 값을 평가"한다. 이 기능은 표현식을 계산하면서 동시에 그 결과를 변수에 할당할 수 있게 해준다.2. 왈러스 연산자의 사용법2.1 기본 사용법# 기본적인 왈러스 연산자의 사용x = (n := 10) * 2print(x) # 출력: 20print(n) # 출력: 10위의 코드에서, (n := 10)은 10을 n에 할당하고, 그 값을 반환한다. 그 결과는 2와 곱해져 x에 할당되었다. 2.1 기본 사용법# 왈러스 연산자가 없을 때의 코드import ..