본문 바로가기

분류 전체보기93

[Python] 스택/큐 : 프린터 https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 💡문제 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 나머지 인쇄 대기.. 2022. 4. 12.
[이론] 뷰(VIEW)와 시스템 카탈로그 ※ 뷰(VIEW) : 하나 이상의 테이블로부터 유도되어 만들어진 가상 테이블로 처리 과정 중의 중간 내용이나 기본 테이블 중 일부 내용을 검색해 보여주거나 별도로 관리하고자 하는 경우 사용하는 임시 테이블 뷰는 실제 물리적으로 공간을 차지하지 않으며, 논리적 독립성을 제공하고, 데이터 접근제어로 보안성을 향상시킨다. ▷ 뷰의 특징 뷰가 정의된 기본 테이블이 제거되면, 뷰도 자동적으로 제거된다. 뷰에 대한 검색은 일반 테이블과 거의 동일하다. 뷰에 대한 삽입, 삭제, 갱신은 제약이 따른다. 뷰의 속성에 기본 테이블의 기본키가 포함되어 있지 않으면 삽입, 삭제, 갱신이 되지 않는다. 보안 측면에서 뷰를 활용할 수 있다. 뷰는 ALTER 문을 이용하여 변경할 수 없다. 한 번 정의된 뷰는 변경할 수 없으며, .. 2022. 4. 4.
[Algorithm] Union-Find(합집합 찾기) ※ Union-Find (합집합 찾기) : 대표적인 그래프 알고리즘으로, 서로소 집합 알고리즘이라고도 한다. 여러 개의 노드가 존재할 때 두 개의 노드를 선택해서, 현재 이 두 노드가 서로 같은 그래프에 속하는지 판별하는 알고리즘 위와 같이 여러 개의 노드가 존재한다. 모두 연결되어 있지 않고, 각자 자기 자신만을 집합의 원소로 가지고 있을 때 모든 값이 자기 자신을 가리키도록 표현할 수 있다. 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 이때, 0과 1이 연결되었다고 해보자. 그러면 1의 인덱스 값에 '0'이 들어간다. 일반적으로 합칠 때에는 더 작은 값 쪽으로 합치고, 이를 합침(Union)이라고 한다. 0 1 2 3 4 5 6 7 0 0 2 3 4 5 6 7 1와 2이 연결된 경우는 어.. 2022. 4. 2.
[Algorithm] BFS & DFS ※ 너비 우선 탐색(BFS) : 탐색을 할 때, 너비를 우선으로 하여 탐색을 수행하는 탐색 알고리즘 너비 우선 탐색은 특히 '맹목적인 탐색'을 하고자 할 때 사용할 수 있는 탐색 기법으로 최단 길이를 보장해야 할 때 많이 사용됩니다. 너비 우선 탐색은 큐로 구현이 가능합니다. 너비 우선 탐색(BFS) 1. 맨 처음 시작 노드를 큐에 삽입하고, 방문 처리 2. 큐에서 하나의 노드를 꺼낸다. 3. 해당 노드에 연결된 노드 중 방문하지 않은 노드를 방문하고, 차례대로 큐에 삽입한다. 4. 위와 같은 과정을 반복한다. 1. A를 큐에 넣는다. 2. A를 큐에서 꺼내고, 해당 노드에 연결된 노드 중 방문하지 않은 B와 C를 큐에 넣어준 후 방문 처리를 해준다. 3. B를 큐에서 꺼내 인접한 노드 중 방문한 적이 .. 2022. 3. 29.
728x90