전체 글 349

[백준/C & C++] 7568 덩치

https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 코드 (C) #include #include int main() { int n; scanf("%d", &n); int* h = (int*)malloc(sizeof(int) * n); int* w = (int*)malloc(sizeof(int) * n); int* result = (int*)malloc(sizeof(int) * n); for (int i = 0; i < n; i++) {..

PS (C, C++) 2022.09.03

[컴퓨터과학의이해🧮] 데이터베이스 시스템 (9장)

교재 : 컴퓨터 과학 총론 (13th Edition)(배운 내용을 책으로 복습하며 작성한 글입니다. ) 1. 데이터베이스 기초데이터베이스(database)라는 용어는 항목들 사이에 여러 개의 내부 링크가 있어서 여러 관점에서 접근할 수 있다는 점에서 다차원적인 데이터 집합을 지칭한다. 데이터베이스는 정보를 한 가지 관점으로만 제시한다는 점에서 일차원적인 저장 시스템이라고 할 수 있고 때로 단층 파일(flat file)이라 불리는 전통적인 파일 시스템과 대비된다. 1) 데이터베이스 시스템의 중요성- 데이터베이스의 등장어떤 기관이 필요로 하는 정보의 많은 부분은 기관 내의 여러 곳에 복제된다.서로 연관된 항목들이 별도의 시스템에 저장된다. 데이터베이스 시스템은 특정 기관에서 저장하고 유지하는 정보를 통합하는..

[컴퓨터과학의이해🧮] 데이터 추상화 (8장)

교재 : 컴퓨터 과학 총론 (13th Edition)(배운 내용을 책으로 복습하며 작성한 글입니다.  ) 1. 기본 데이터 구조1) 배열- 배열 (array) : 그 안의 항목이 모두 동일한 타입인 직사각형 모양의 데이터 블록-집합체 타입(aggregate type) : 타입과 크기가 다를 수 있는 데이터 항목(필드, field) 블록 2) 리스트, 스택, 큐- 리스트 (list) : 기본 데이터 구조로 순차적으로 배열되어 있는 항목들의 집합리스트의 시작은 리스트 헤드(head), 리스트의 다른 쪽 끝은 테일(tail)이라 부른다. 리스트와 그 변형들의 기본 개념은 알고리즘들에서 발견되는 가장 보편적인 데이터 추상화일 것이다. - 스택 (stack) : 헤드에서만 항목을 제거하거나 합입할 수 있는 리스트..

[컴퓨터과학의이해🧮] 소프트웨어 공학 (7장)

교재 : 컴퓨터 과학 총론 (13th Edition)(배운 내용을 책으로 복습하며 작성한 글입니다. )1. 소프트웨어 공학 개관- 소트트웨어 공학은 대규모의 복잡한 소프트웨어 시스템의 개발에 지침이 되는 원리들을 모색하는 컴퓨터과학의 한 분야이다.- 소프트웨어의 특성과 다른 공학 분야의 특성 사이의 차이사전 제작된 범용 컴포넌트들을 이용하여 시스템을 구축하는 것 (일반 공학의 경우 "규격 부품"을 기초 요소로 사용하는 것은 대단히 유용하지만, 소프트웨어 컴포넌트는 특정 응용 분야에 기초하고 있어서 범용 컴포넌트로서의 유용성이 제한된다.)소프트웨어의 경우 그 성질을 측정하기 위해 사용될 수 있는 측도(metric)라고 불리는 정량적 기법이 없다.-  소프트웨어 공학 연구실용 연구자 : 바로 응용 가능한 기..

[컴퓨터과학의이해🧮] 프로그래밍 언어 (6장)

교재 : 컴퓨터 과학 총론 (13th Edition)(배운 내용을 책으로 복습하며 작성한 글입니다. )1. 역사적 고찰1) 초창기 언어- 컴퓨터를 위한 프로그램은 숫자들로 인코딩된 일련의 명령으로 이루어지는데, 이러한 인코딩 체계를 기계어 (machine language)라 부른다.- 디버깅 (debuging) : 프로그램을 완성하기 위해 오류를 찾아 고치는 과정 (1) 어셈브러어셈블러 (asembler) : 기호 표현을 기계어 명령으로 변환하는 프로그램어셈블리어 (assembly language) : 프로그램 표현에 사용되는 기호 체계어셈블리 언어는 기계어에 비해 여러 가지 이점을 갖고 있지만, 궁극적인 프로그래밍 환경을 제공하기에는 여전히 많이 부족하다. 어셈블러 언어로 작성된 프로그램은 본질적으로 ..

[백준/C & C++ ] 9020 골드바흐의 추측

https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 코드 (C) #include int arr[10001] = { 0, }; int main() { int n, m, a, b; arr[1] = 1; for (int i = 2; i < 10001; i++) { if (arr[i] == 1) continue; else for (int j = i * 2; j < 10001; j += i) arr[j] = 1; } scanf("%d",..

PS (C, C++) 2022.08.29

[백준/C & C++] 11047 동전 0

https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 코드 (C) #include #include int main() { int n, money, count=0; scanf("%d %d", &n, &money); int* arr = (int*)malloc(sizeof(int) * n); for (int i = 0; i < n; i++) scanf("%d", &arr[i]); for (i..

PS (C, C++) 2022.08.29

[백준/C & C++] 4948 베르트랑 공준

https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 코드 (C) #include int arr[246920] = { 0, }; int main() { int n; arr[1] = 1; for (int i = 2; i

PS (C, C++) 2022.08.29

[컴퓨터과학의이해🧮] 알고리즘 (5장)

교재 : 컴퓨터 과학 총론 (13th Edition)(배운 내용을 책으로 복습하며 작성한 글입니다. )1. 알고리즘의 개념1) 알고리즘의 정형적 정의알고리즘 : 모호하지 않고 실행 가능한 단계들의 집합이며, 단계들에는 순서가 정해져 있고, 종료되는 포르세르를 정의함.2) 알고리즘의 추상적 특성프로그램 : 알고리즘의 표현프로세스 : 알고리즘의 실행 활동 2. 알고리즘의 표현1) 프리미티브- 프리미티브 (primitive) : 알고리즘 표현에 사용할 잘 정의된 기초 요소- 프리미티브를 정확히 정의하게 되면 많은 모호성 문제가 해결되며, 프리미티브를 사용하여 알고리즘을 기술하도록 요구함으로써 세부사항 서술 정도의 일관성을 확립할 수 있다. - 프리미티브의 집합과 더 복잡한 개념을 표현하기 위한 프리미티브 조합..

[컴퓨터과학의이해🧮] 네트워킹과 인터넷 (4장)

교재 : 컴퓨터 과학 총론 (13th Edition)(배운 내용을 책으로 복습하며 작성한 글입니다. )1. 네트워크 기초- 네트워크 (network) : 컴퓨터 간에 데이터를 전송할 수 있도록 컴퓨터 시스템들을 연결하는 것- 응용을 지원하기 위해 필요한 하부 소프트웨어는 간단한 유틸리티 패키지에서 복잡한 네트워크 차원의 인프라를 제공하는 네트워크 소프트웨어 시스템으로 발전하였다.  1) 네트워크의 분류- 네트워크의 크기(통신 간의 거리)(1) 개인 통신망 (Personal Area Network ; PAN) : 수 미터 이내의 짧은 거리의 통신(2) 근거리 통신망 (Local Area Network ; LAN) : 하나의 건물이나 건물 군 안의 컴퓨터들로 이루어짐(3) 광역도시 통신망 (Metropoli..