일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Djikstra
- 백준
- Network
- Transport layer
- 데이터베이스
- baekjoon
- STL
- leetcode
- 네트워크
- DB
- Database
- 자료구조
- 전송 계층
- ps
- 응용 계층
- boot sequence
- swea
- 프로그래머스
- Embedded
- 관계형 모델
- 다익스트라
- dp
- 임베디드
- C++
- 문제풀이
- BST
- 부트시퀀스
- BHS
- Application Layer
- 릿코드
- Today
- Total
목록전체 글 (69)
BOBO's Note

데크(Deque)는 Double-Ended QUEue의 줄임말로, 양쪽 끝에서 삽입/삭제가 가능한 자료구조이다. C++ 에 정의되어 있으며, 선형 배열 형태의 순차 컨테이너이다. 양쪽 끝에서의 삽입 및 삭제가 O(1)에 가능하다. 벡터는 연속된 공간에 메모리를 할당해 데이터를 순차적으로 저장하고, 공간이 부족하면 메모리를 재할당해 데이터를 복사한다. 이러한 재할당 오버헤드를 줄이기 위해 데크에서는 여러 개의 블록으로 쪼개어 저장한다. 따라서 포인터 연산을 통해 원소에 접근할 순 없지만, 인덱스를 통해 접근할 수는 있다. 대표적으로 다음과 같은 연산이 있다. size(): 데크의 크기를 반환한다. empty(): 데크가 비어있다면 true를, 그렇지 않은 경우 false를 반환한다. front(): 데크의..
https://www.acmicpc.net/problem/3190 3190번: 뱀 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. www.acmicpc.net 풀이 방법 뱀의 위치, 움직임, 회전 등을 Snake라는 클래스로 나타냈다. enum Dir{RIGHT, DOWN, LEFT, UP}; class Snake{ public: Snake(): dir(RIGHT) { body.push_front(0); body_pos.insert(0); }; void rotate(int d){ if(d == RIGHT) dir = (dir + 1) % 4; else dir ..
https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 방법 배열의 (r, c)의 값이 k이 될 때까지 반복문을 돌며 배열에 연산을 적용한다. 이때, 100초를 초과하면 -1을 출력하고 프로그램을 종료한다. 배열의 연산은 Array 클래스 내의 change() 메소드로 구현했다. while(!arr.is_equal(k)){ t++; if(t > 100){ cout = C) op_row(); else op_col(); } row-wis..

Kernel의 개념 및 역할 커널은 운영체제의 핵심이 되는 프로그램이다. 메모리에 항상 상주하며 CPU, 메모리, I/O와 같은 하드웨어 및 시스템 자원을 효율적으로 관리한다. user spcae 애플리케이션에 하드웨어/아키텍처에 independent한 API를 제공하고, 여러 애플리케이션에서 하드웨어에 동시 접근하는 것을 제어한다. Linux Kernel의 특징 Linux Kernel은 1991년 Linus Tovalds가 취미로 개발한 것으로 다음과 같은 특징을 갖는다. Portability: 다양한 아키텍처(ex. x86, ARM 등) 및 하드웨어에서 실행될 수 있다. Scalability: 작은 디바이스부터 슈퍼 컴퓨터까지 실행될 수 있다. Security: 오픈소스로 공개되어 많은 이슈들이 빠르..
임베디드 시스템 특정 디바이스의 특정 기능을 수행하기 위해 설계된 컴퓨터 시스템이다. 임베디드란, 전체 시스템의 일부로 내장되었다는 의미이다. cf) PC: 사용자가 원하는 SW를 설치해 다양한 작업을 할 수 있는 범용 목적의 컴퓨터 예) 자동차, 휴대폰, 전자레인지 등 임베디드 시스템의 특징 임베디드 시스템은 다음을 만족해야 한다. Timely: 주어진 시간 내에 작업을 완료해야 한다. Reliable: 다양한 환경에서도 문제없이 동작해야 한다. Low Power: 전력 소모가 크지 않아야 한다.