분류 전체보기
-
Intro to Relation Model데이터 베이스 시스템 2022. 3. 20. 22:17
Structure of Relation Databases 위의 데이터베이스는 instructor 테이블입니다. Relation Schema and Instance A1, A2, A3,.....An 들은 attributes(속성)들입니다. R = (A1, A2, A3,.....An) 은 relation schema입니다. ex) instructor = (ID, name, dept_name, salary) Schema R위에 정의된 relation instance r을 r(R)로 표현합니다. relation r 의 요소 t는 tuple이라고 하며 table내의 행으로 표현합니다. Attributes 각 attribute에 대해 허용되는 값의 집합을 attribute의 domain이라고 합니다. 속성 값은 쪼..
-
백준 1451 (직사각형으로 나누기) c++백준 문제 2022. 3. 16. 20:42
문제 1451번: 직사각형으로 나누기 첫째 줄에 직사각형의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 직사각형에 들어가는 수가 가장 윗 줄부터 한 줄에 하나씩 M개의 수가 주어진다. N과 M은 50보다 작거나 같은 자연수이 www.acmicpc.net 행 n과 열 m이 주어지면 n*m 직사각형을 세등분으로 나누어 세 직사각형 넓이의 곱의 최대를 출력해주면 됩니다. 각 직사각형의 넓이는 각 직사각형의 포함되는 n*m 이차원 배열의 인덱스 값의 합입니다. 저는 처음에 생각했을 때 세 직사각형의 넓이의 곱이 최대로 될려면 각 직사각형이 전체 n * m 넓이의 평균에 가까울 수록 넓이가 커진다고 생각했습니다. 따라서 1)번으로 생각했습니다. 1) 모든 수를 더하면서 평균값에 가깝게 직사각형을 묶음 ..
-
Exceptional Control Flow : Exceptions and Processes시스템 프로그래밍 2022. 3. 10. 14:50
Control Flow (제어 흐름) process(CPU)는 사용자가 전원을 키고 끌때 까지 단순히 메모리에 있는 instruction들을 순차적(seqential)으로 차례대로 한번에하나씩 실행합니다. 이러한 flow를 Control Flow라고 합니다. Altering the Control Flow 그러나 우리는 하나의 프로그램만을 실행하는 것이 아니라 여러개의 프로그램을 동시에 실행할 수 도 있습니다. 그렇게 되면 CPU 입장에서는 순차적으로 instruction들을 수행하지 못할 수 있습니다. 따라서 순차적으로 진행하는 control flow를 바꿔줄 필요가 있습니다. 예를 들어 Jump나 branch같은 분기 명령어나, 함수 Call, go to문, 함수 return등 을 통해 Program ..
-
Introduction데이터 베이스 시스템 2022. 3. 7. 20:27
Purpose of Database System 1) Data redundancy and inconsistency (데이터 중복 및 불일치) 예를 들어 학생이 복수전공(ex 음악, 수학)을 가지고 있는 경우, 해당 학생의 주소 와 전화번호는 음악학과 학생들의 학생 기록으로 구성된 파일과 수학과 학생들의 기록으로 구성된 파일에 나타날 수 있습니다. 이러한 redundancy(이중화)로 인해 저장공간 및 access 비용이 높아집니다. 이는 데이터 inconsistency(불일치)로 이어집니다. 예를 들어 변경된 학생 주소는 음악 부서 기록에는 반영되지만 시스템의 다른 곳에는 반영되지 않을 수 있습니다. 2) Difficulty in accessing data 데이터 베이스가 없으면 자신이 원하고 필요한 데..
-
Chapter 1컴퓨터 아키텍쳐 2022. 3. 6. 23:27
위 게시물은 Computer Organization and Design -The hardware / software interface" by Patterson and Hennessy, 5th edition, 2013 을 참고하여 작성했습니다. Understanding Program Performance 프로그램의 성능을 이해하는데 있어서 크게 4가지 요건이 있습니다. 1) 알고리즘 : 연산 횟수를 결정합니다. 2) 프로그래밍 언어, 컴파일러, 구조 : 작업당 실행할 기계 명령 수를 결정합니다 3) Processor 그리고 메모리 시스템 : 얼마나 빠르게 명령을 처리할지 결정합니다. 4) I/O 시스템 : 얼마나 빠르게 I/O 작업을 할 수 있는지 결정합니다. Below Your Program 우리가 사용..
-
백준 15811 (복면산) c++백준 문제 2022. 3. 6. 15:59
문제 15811번: 복면산?! 복면산이란 수학 퍼즐의 일종으로, 어떤 계산식의 각 숫자들을 특정 문자로 바꾸면 각 문자가 어떤 숫자인지 맞추는 퍼즐이다. 대표적으로 SEND+MORE=MONEY가 있다. SEND + MORE ------ MONEY S=9, E=5, N=6, D=7, www.acmicpc.net 18자리 이하인 영어 대문자 문자열 3개가 주어지는데 첫번째와 두번째로 주어진 영어 대문자에 서로 겹치지 않는 숫자를 집어넣어 그 둘을 합친게 세번째로 주어진 문자열과 동일하면 YES를 출력하고 그렇지 않으면 NO를 출력하는 문제입니다. 예를 들어 문자열이 SUN FUN SWIM 이라고 주어지면 SUN = 067 FUN = 867 라는 숫자를 대입할 수 있습니다. 그 둘을 합치면 SWIM = 093..
-
chapter 1컴퓨터 시스템 개론 2022. 3. 5. 16:19
모든 작성물은 "Computer system : A programmer's perspective", 3rd edition, Randal E. Bryant and David R. O'Hallaron 책을 참조하여 작성했습니다. 컴퓨터 시스템은 응용프로그램을 실행시키기 위해 하드웨어와 시스템 소프트웨어에 의해 구성됩니다. hello.c의 표현으로 다음과 같은 근본적인 아이디어를 얻을 수 있습니다. 모든 시스템에 있는 정보(디스크 파일, 메모리에 저장된 사용자 데이터, 네트워크를 통해 전달된 데이터)들은 bit묶음으로 표시 됩니다. 서로 다른 데이터 개체를 구별하는 유일한 것은 우리가 보는 것입니다. 예를 들어 다른 개체에서 동일한 일련의 byte들은 정수, 부동소수점 숫자, 문자열 또는 기계명령어(machi..
-
백준 1655 (가운데를 말해요) c++백준 문제 2022. 3. 3. 00:54
문제 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 정수의 개수 n개가 한개씩 주어집니다. 주어지는 대로 중간값을 출력하면 되는 문제입니다. 정수의 개수가 짝수이면 중간값이 2개 이므로 둘중 작은 값을 출력하면 됩니다. 예를 들어 n이 5이고 처음에 1이들어오면 1을 출력하고 또 3이 들어오면 {1, 3} 중에 1이 작으므로 1을 출력하고 또 5가 들어오면 {1, 3, 5} 이므로 3을 출력하는 식으로 생각해주면 됩니다. naive하게 생각해보면 n의 범위가 100000까지 이고 계속 숫자가..