전체 글 349

[컴퓨터과학의이해🧮] 계산 이론 (12장)

교재 : 컴퓨터 과학 총론 (13th Edition)(책으로 공부하며 작성한 글입니다.) 1. 함수와 함수의 계산- 수학에서 함수(function)는 가능한 입력 값의 집합과 출력 값의 집합 사이에서 하나의 가능한 입력에는 하나의 출력만이 배정되는 대응 관계를 말한다. - 주어진 입력에 대해 함수가 배정하는 출력을 결정하는 과정을 함수의 계산이라 부른다. - 수학에서 도출된 중요한 결론 중 하나는 어떤 함수들은 너무 복잡해서 이들의 경우 입력 값에 기초하여 출력을 결정하기 위해 사용할 수 있는 잘 정의된 단계 과정이 존재하지 않는다는 것이다. -> 계산 불가능한 함수 2. 튜링 기계 (Turing machine)1) 튜링 기계의 원리- 읽기/쓰기 헤드를 사용하여 테이프 상에 기호를 읽고 쓸 수 있는 제어..

[컴퓨터과학의이해🧮] 컴퓨터 그래픽스 (10장)

교재 : 컴퓨터 과학 총론 (13th Edition)(책으로 공부하며 작성한 글입니다.) 1. 컴퓨터 그래픽스의 범위- 2D 그래픽에서는 이미지 생성을 다루고, 영상처리(image processing)에서는 이미지 분석을 다룬다. - 2D 그래픽에서는 2차원 모양을 이미지로 변환시키는데, 3D 그래픽에서는 3차원 모양을 이미지로 변환시킨다.  2. 3D 그래픽 개요- 과정 : 이미지에 대한 모델링, 렌더링, 화면표시 (1) 모델링디지털 인코딩된 데이터와 알고리즘으로부터 3D 그래픽 장면이 구축된다. (2) 렌더링해당 장면 안의 물체들이 지정된 이치의 카메라에서 만들어진 사진에서 어떻게 나타날지 계산함으로써 그 장면에 대한 2차원 이미지를 생성한다,장면 안의 물체들에 대해 투상 평면(projection p..

[백준/C & C++] 2851 슈퍼마리오

https://www.acmicpc.net/problem/2851 2851번: 슈퍼 마리오 첫째 줄에 마리오가 받는 점수를 출력한다. 만약 100에 가까운 수가 2개라면 (예: 98, 102) 마리오는 큰 값을 선택한다. www.acmicpc.net 코드 (C) #include int main() { int arr[11], sum=0; for (int i = 0; i < 10; i++) scanf("%d", &arr[i]); for (int i = 0; i < 10; i++) { if (sum = 100) { if (100 - sum < sum + arr[i] - 100) { printf("%d", sum); return 0; } else { printf("%d", sum + arr[i]); return..

PS (C, C++) 2022.09.05

[백준/C & C++] 1259 펠린드롬수

https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 코드 (C) #include #include int countlen(int n) { int i =0 ; while (n>0) { n /= 10; i++; } return i; } int reverse(int n, int len) { int result = 0; while (n > 0) { result += (n % 10) * pow(10, len-1); len--; n /= 10; } return result; ..

PS (C, C++) 2022.09.05

[백준/C & C++] 3009 네 번째 점

https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 코드 (C) #include int main() { int arr[4][3], x,y; for (int i = 0; i < 3; i++) scanf("%d %d", &arr[i][0], &arr[i][1]); if (arr[0][0] == arr[1][0]) printf("%d ", arr[2][0]); else if (arr[0][0] == arr[2][0]) printf("%d ", arr[1][0]); else printf("%d ", arr[0][0]); if (arr[..

PS (C, C++) 2022.09.04

[백준/C & C++] 2920 음계

https://www.acmicpc.net/problem/2920 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 코드 (C) #include int main() { int arr[9], result; for (int i = 0; i < 8; i++) scanf("%d", &arr[i]); for (int i = 0; i < 7; i++) { if (arr[i]-arr[i+1] == 1) result = 0; // 감소 else if (arr[i+1]-arr[i] ==..

PS (C, C++) 2022.09.04

[백준/C & C++] 1297 TV 크기

https://www.acmicpc.net/problem/1297 1297번: TV 크기 김탑은 TV를 사러 인터넷 쇼핑몰에 들어갔다. 쇼핑을 하던 중에, TV의 크기는 그 TV의 대각선의 길이로 나타낸 다는 것을 알았다. 하지만, 김탑은 대각선의 길이가 같다고 해도, 실제 TV의 크기는 www.acmicpc.net 코드 (C) #include #include int main() { int d, h, w; scanf("%d %d %d", &d, &h, &w); double rate = d/sqrt(h * h + w * w); printf("%d %d", (int)(h * rate), (int)(w * rate)); return 0; } 코드 (C++) #include #include using names..

PS (C, C++) 2022.09.03

[컴퓨터과학의이해🧮] 인공지능 (11장)

교재 : 컴퓨터 과학 총론 (13th Edition)(배운 내용을 책으로 복습하며 작성한 글입니다. ) 1. 지능과 컴퓨터인공지능(Artificial Intelligence ; AI) : 사람의 개입 없이 복잡한 작업을 수행할 수 있는 자율 컴퓨터의 구축을 목표로 하는 컴퓨터 과학 분야 1) 지능적 에이전트- 에이전트 (agent) : 주변 환경으로부터의 자극에 반응하는 장비(device)- 대부분의 에이전트는 주변 환경으로부터 데이터를 받아들이기 위한 센서(sensor)와 주변 환경에 영향을 미치기 위해 사용할 수 있는 액추에이터(actuator)를 가지고 있다. - 인공지능 분야의 많은 연구는 지능적으로 행동하는 에이전트의 구축과 관련되어 있다. - 에이전트가 학습능력을 갖추고 있어 그 반응은 시간이..