전체 글
-
[OS] Memory ManagementComputer Science/Operation System 2020. 4. 28. 13:59
✔️ 논리적 주소와 물리적 주소 ◾️ 메모리는 주소를 통해서 접근하는 매체이다. ◾️ 메모리 주소는 논리적 주소와 물리적 주소가 있다. ◾️ 논리적 주소 : 프로그램마다 가지고 있는 독자적인 주소이다. ◾️ 물리적 주소 : 실제 메모리의 주소이다. ◾️ 물리적 메모리 아래부분은 OS 커널이 위치한다. 상위 부분은 여러 프로그램이 섞여서 올라간다. ◾️ 프로그램이 실행이 되려면 물리적인 메모리에 올라 가야한다. 이때 프로세스의 논리적 주소가 물리적 주소로 바뀌어야한다. 이를 주소 바인딩이라고 한다. ◾️ Symbolic Address : 변수 등의 심볼로된 주소를 말한다. Symbolic Address는 컴파일 되어 숫자로된 논리적 주소로 바뀐다. ◾️ Complie time binding : 컴파일 시점..
-
Minimum Spanning Tree (Kruskal, Prim)Computer Science/Data Structure and Algorithm 2020. 4. 26. 22:04
✔️ Spanning Tree ◾️ 스패닝 트리는 원본 그래프의 정점 전부와 간선의 부분 집합으로 이루어진 부분 그래프이다. ◾️ 스패닝 트리에 포함된 간선들은 정점들을 트리 형태로 전부 연결해야한다. ◾️ 트리 형태란 간선들이 사이클을 이루지 않는다는 것을 의미한다. ✔️ Minimum Spanning Tree Problem ◾️ 최소 스패닝 트리 문제란, 가중치 그래프의 스패닝 트리 중 가중치의 합이 가장 작은 트리를 찾는 문제를 말한다. ◾️ 즉, 그래프의 연결성을 그대로 유지하는 가장 '저렴한' 그래프를 찾는 문제이다. ✔️ Kruskal's Algorithm ◾️ 크루스칼의 최소 스패닝 트리 알고리즘은 그래프의 모든 간선을 가중치의 오름차순으로 정렬한 뒤, 스패닝 트리에 하나씩 추가해 나간다. ..
-
Union Find, Disjoint SetComputer Science/Data Structure and Algorithm 2020. 4. 24. 17:02
✔️ Union Find ◾️ Union Find는 Disjoint Set(상호 배타적 집합)을 표현할 때 쓰는 트리 자료 구조이다. ◾️ 상호 배타적 집합이란 공통 원소가 없는 배타적 집합을 뜻한다. ◾️ Union 연산 : 두 원소 A, B가 주어질 때, 이들이 속한 두 집합을 하나로 합친다. ◾️ Find 연산 : 어떤 원소 A가 주어질 때 이 원소가 속한 집합을 반환한다. 트리를 이용한 상호 배타적 집합의 표현 ◾️ 두 원소가 같은 집합(트리)에 포함되어 있는지 확인하는 방법은 각 원소가 포함된 트리의 루트가 같은지 확인하는 것이다. 이렇게 하기 위해서는 모든 자식 노드가 부모에 대한 포인터를 가지고 있어야한다. 루트는 부모가 없으므로, 대개 자기 자신을 가리키도록 구현한다. ◾️ 두 트리를 합칠..
-
[OS] DeadLockComputer Science/Operation System 2020. 4. 23. 15:04
✔️ DeadLock ( 교착 상태 ) ◾️ 'DeadLock Example 2'를 살펴보자. ◾️ P0은 A 자원을 가지고 있으면서, B자원을 요구한다. ◾️ P1은 B 자원을 가지고 있으면서, A자원을 요구한다. ◾️ P0과 P1은 DeadLock 상태이다. ✔️ DeadLock 발생의 4가지 조건 ◾️ 상호배제, 비선점, 점유대기, 환형대기 4가지 조건을 모두 만족해야 DeadLock이 발생한다. ✔️ Resource-Allocation Graph ( 자원 할당 그래프 ) ◾️ 자원 할당 그래프는 프로세스의 자원 할당 상태를 표현해주는 그래프이다. ◾️ 동그라미는 프로세스, 네모는 자원을 나타낸다. 네모속의 점은 자원의 인스턴스를 의미한다. ◾️ 프로세스 -> 자원 : 프로세스가 해당 자원을 요청하..
-
[Front End] 객체지향 JavaScript 구현Web Development/부스트코스 - Front-End(JavaScript) 2020. 4. 22. 15:04
✔️ 배열의 함수형 메소드 ◾ 웹 프론트엔드에서는 데이터 처리가 점점 증가하고 있다. 배열에 적용되는 다양한 메서드를 통해 데이터 파싱 처리를 손쉽게할 수 있다. 아래와 같은 배열을 다양한 메서드로 조작해보자. var data = [{ title: "hello", content: "간지철철", price: 12000 }, { title: "crong", content: "괜춘한 상품", price: 5500 }, { title: "codesquad", content: "쩌는상품", price: 1200 }]; 1️⃣ for, forEach //for를 통한 배열 탐색 for (var i = 0; i < data.length; i++) { console.log(data[i].title, data[i].pr..
-
[백준] 9375 패션왕 신해빈Problem Solving 2020. 4. 20. 22:11
✔️ 문제 링크 https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 문제 해빈이는 패션에 매우 민감해서 한번 입었던 옷들의 조합을 절대 다시 입지 않는다. 예를 들어 오늘 해빈이가 안경, 코트, 상의, 신발을 입었다면, 다음날은 바지를 추가로 입거나 안경대신 렌즈를 착용하거나 해야한다. 해빈이가 가진 의상들이 주어졌을때 과연 해빈이는 알몸이 아닌 상태로 며칠동안 밖에 돌아다닐 수 있을까? 입력 첫째 줄에 테스트 케이스가 주어진다. 테스트 케이스는 최대 100이다. 각 테스트 케이스의 첫째 줄에는 해빈이가 가진 의상의 수 www.acmicpc.net ✔️ 문제 이해 1. N개의 의상과 그 종류가 주어진다. 2. 이 때 알몸이 아닌 상태로 의상을 입을 수 있는 경우의..
-
[백준] 14391 종이조각Problem Solving/Baekjoon Online Judge 2020. 4. 20. 22:03
✔️ 문제 링크 https://www.acmicpc.net/problem/14391 14391번: 종이 조각 영선이는 숫자가 쓰여 있는 직사각형 종이를 가지고 있다. 종이는 1×1 크기의 정사각형 칸으로 나누어져 있고, 숫자는 각 칸에 하나씩 쓰여 있다. 행은 위에서부터 아래까지 번호가 매겨져 있고, 열은 왼쪽부터 오른쪽까지 번호가 매겨져 있다. 영선이는 직사각형을 겹치지 않는 조각으로 자르려고 한다. 각 조각은 크기가 세로나 가로 크기가 1인 직사각형 모양이다. 길이가 N인 조각은 N자리 수로 나타낼 수 있다. 가로 조각은 왼쪽부터 오른쪽까지 수를 이어 붙인 www.acmicpc.net ✔️ 문제 이해 1. 열 또는 행으로 조각을 나눴을 때, 각 조각에 써있는 숫자들의 최대 합을 구하는 문제이다. 2...