본문 바로가기

Happy_Jinsu20

SQL - 데이터 조작어, 정의어 (검색) 검색 1. SELECT 데이터를 검색하는 기본 문장. 질의어라고 부름. (필수) SELECT [ALL * | DISTINCT] 속성이름(들) FROM 테이블 이름(들) ·········································································· (선택) WHERE 검색 조건(들) GROUP BY 속성이름 HAVING 검색조건(들) ORDER BY 속성이름 [ASC | DESC] *WHERE의 조건들 ≫ 비교 : =,, 2022. 11. 7.
관계 데이터 모델 01. 관계 데이터 모델 * 릴레이션(relation) : 행과 열로 구성된 테이블. (관계라고 해석하여 부르지 않는다. relationship을 관계라고 부르기 때문.) * 관계(relationship) : 릴레이션 내에서 생성되는 관계 또는 릴레이션 간에 생성되는 관계. *스키마(schema) : 관계 데이터베이스의 릴레이션이 어떻게 구성되는지 어떤 정보를 담고 있는지에 대한 기본적인 구조를 정의함. 테이블에서는 첫 행(헤더)에 나타남. 각 데이터의 특징을 나타내는 속성, 자료 타입 등의 정보를 담고 있음. * 인스턴스(instance) : 테이블에 실제로 저장되는 데이터의 집합. * 속성(attribute) : 릴레이션 스키마의 열. 가로. * 도메인(domain) : 속성이 가질 수 있는 값의 집.. 2022. 11. 7.
[HTML] 기본 창 띄우기 ※ 생성된 html파일을 크롬 창으로 드래그앤 드롭 한다. ※ 비주얼 코드 사용시, 파일명 뒤에 .html을 붙여준다. 타이틀 태그, 주석 달기 ※ 주석 다는 방법 ※ 타이틀 태그를 주석처리 하면 파일 이름이 창 제목이 된다. Hello HTML5 스타일 태그 Hello HTML5 ※ 위와 똑같은 출력이지만 파일을 구분해서 표현 할 수도 있다. Hello HTML5 html파일 h1{ color: white; background : peru; } css 파일 자바 스크립트를 활용하여 경고창 띄우기 ※ 자바 스크립트에서 주석은 //주석 내용 으로, 앞서 나온 형식과는 차이가 있다. Hello HTML5 글자 사이즈 조절 Hello HTML5 Hello HTML5 Hello HTML5 Hello .. 2022. 3. 29.
[백준/BOJ] 2588번 곱셈 (C) https://www.acmicpc.net/problem/2588 처음 이 문제를 봤을 때 상당히 꼬아서 생각을 했다. 배열에 넣을까 다 분해해서 하드 코딩을 해볼까 고민부터 했는데, 단순한 계산이었다. 먼저, 하나하나 하드 코딩한 코드이다. #define _CRT_SECURE_NO_WARNINGS #include int main() { int i, j, num1, num2, sum = 0, finalSum = 0; //숫자 입력 받기 scanf("%d", &num1); scanf("%d", &num2); //1 계산 하기 sum += (num1 % 10) * (num2 % 10); sum += ((num1 % 100) - (num1 % 10)) * (num2 % 10); sum += (num1 - (n.. 2022. 1. 18.
[Unity #필드액션게임프로젝트] <Temptation of food> 목표물 따라가기 (Navigation, AI 기능 활용법) 목표물(target)을 찾아가는 추적자 만들기 1. 먼저, 3D Object > Cube를 활용하여 Floor를 생성한다. 2. Window > Ai > Navigation을 누르면 Inspecter창 옆에 Navigation창이 생긴다. (Window는 화면 좌측 최상단에 있음.) 3. Floor > Navigation > Object > Navigation Static Navigation Static 박스를 체크해준다. 4. Floor > Navigation > Bake > Bake Bake에 들어가서 Bake 버튼을 누른다. Bake 버튼을 누르게 되면, 아래 화면과 같이 Floor 위에 하늘색이 생긴다. 이 하늘색 영역은 추적자가 목표물을 쫓아갈 때, 길 탐색이 가능한 영역을 뜻한다. 5. 3D .. 2021. 11. 16.
[Unity #필드액션게임프로젝트] <Temptation of food> 간단한 기획 음식들의 유혹을 뿌리치고 부위 별로 알맞게 운동하여 건강한 몸으로 꿈에서 탈출하자! 게임 설명 플레이어는 다이어트 강박증에 시달리고 있다. 때문에 꿈에서도 다이어트 나라에 가는 악몽을 꾸게 된다. 플레이어는 꿈 속에서 평소에 먹고 싶지만 살이 많이 찌는 음식들이 가득한 숲에 오게 되고, 살이 찌지 않기 위해 도망친다. 귓속에는 엄마가 매일 하던 잔소리가 들려온다. "올리브가 건강 식품이래~ 올리브 먹으면 살빠져~". 플레이어는 올리브를 먹고 건강해지면 이 악몽에서 깨어날 수 있을 것이라 생각하고 건강 식품인 올리브를 찾아 나선다. 1. 피자, 감자튀김, 치킨, 햄버거가 맵 곳곳에 존재하고, 각각은 먹었을 때 살이 찌는 부위가 다르다. -> 피자 = 얼굴 -> 감자튀김 = 허벅지 -> 치킨 = 뱃살 -> .. 2021. 11. 15.
[자료구조] 12. 큐(Queue) 큐 (Queue) ▶ 줄 서기. ▶ 특징 : First In First Out (FIFO). First Come First Served. ▶ 정의 : Insert가 한쪽 끝(Rear)에서 발생하고, Remove가 다른 한 쪽 끝(Front)에서 발생하는 제한 조건(constraint)을 갖는 리스트형 구조. ▷ (초기화를 -1로 하는 방식으로 구현하는 경우) front와 rear가 동일한 인덱스를 가리키면, 배열에 남은 값은 하나이다. (구현 방식에 따라 차이가 있을 수 있음.) ▶ 선형 큐 vs. 원형 큐 ▷ 선형 큐의 경우, 실제 배열에 값이 가득 차있지 않고 배열 인덱스 마지막 칸에만 값이 있어도 rear값이 배열의 끝에 도달하면 Full이라고 처리된다. 이 단점을 보완해주는 것이 원형 큐이다. 원.. 2021. 11. 2.
[자료구조] 11. 중위(Infix), 전위(Prefix), 후위(Postfix), 수식 표기법 ※ 수식 표기법의 기준은 연산자(Operator)이다. 중위 표기법 (Infix Notation) ▶ 연산자(Operator)가 피연산자(Operand) 중간에 위치. ▷ 예시 : 9+5, G-Y, K*9 ▶ 사람들이 일반적으로 계산할 때 사용. ▶ 연산자 우선순위를 고려하여 계산함. ( 괄호 -> 지수 -> 곱셈과 나눗셈 -> 덧셈과 뺄셈 ) ▶ 연산 방향 : 왼쪽에서 오른쪽으로. ▶ 문제점 : 괄호가 없으면 계산이 모호해질 수 있으며, 괄호와 연산자 우선순위를 고려해야 하기 때문에 수식 전체를 봐야 한다. 이러한 문제점을 보완하기 위해서 나온 것이 전위 표기법과 후위 표기법이다. 전위, 후위 표기법은 연산자의 우선순위를 고려하지 않아도 되며 괄호를 사용할 필요가 없다. 때문에 계산이 모호해지는 일도 .. 2021. 11. 1.
[자료구조] 10. 스택 (Stack) 스택 (Stack) ▶ 쌓아놓은 더미. ▶ 특징 : LIFO (Last-In First-Out) : 후입 선출의 특징을 가짐. ≫ 가장 최근에 들어온 데이터가 가장 먼저 나감. ▷ Top : 스택의 상단. 정보의 입출력이 발생하는 곳. ▷ Bottom : 스택의 하단. ▶ 정의 : Insert와 Remove가 동일한 한 쪽 끝(Top)에서 발생하는 제한 조건(constraint)을 갖는리스트형 구조. 스택 추상 데이터 타입 (ADT) º 객체 (Object) : 0개 이상의 아이템을 가지는 유한 선형 리스트. º 속성 (Attributes) : 리스트의 한쪽 끝(Top)에서 삽입(Insertion)과 삭제 (Deletion) 발생. · create(size) : 크기가 size인 empty stack 생.. 2021. 10. 30.
[자료구조] 09. 동적 메모리 할당 동적 메모리 (Dynamic Memory) 할당 ▶ 프로그램의 실행 도중에 Heap 영역으로부터 메모리를 할당받는 것. ▶ 필요한 만큼만 할당 받고, 사용 후 반납하기 때문에 효율인 메모리 사용 가능. ▶ 동적 메모리를 다 사용한 후, free함수로 해제 필수. main() { int *DM; DM = (int *)malloc(sizeof(int));//동적 메모리 할당 --- ***//동적 메모리 사용 --- free(DM); //동적 메모리 반납. 필수!!! } ▷ malloc(5*sizeof(int)); → 5 : 필요한 수만큼 곱하기 → sizeof(int) : 4byte. ▶ 활용 예제 ▷ 전형적인 동적 메모리 할당 //malloc을 이용하여 정수 10개를 저장할 수 있는 동적 메모리를 할당하고.. 2021. 10. 29.
[자료구조] 08. 포인터 ※ 사전 지식 변수 : 이름(name) / 값(value) / 주소 값(address)을 가짐. 포인터(Pointer) ▶ 다른 변수의 주소를 가지고 있는 변수. int a = 10; int *p; p = &a; //포인터 변수의 초기화 ▷ p : 포인터 변수. p의 값은 주소값. 해당 주소에 실제 위치한 값이 int. (p의 값으로 a의 주소 값 할당) ▶ 포인터가 가리키는 값의 변경 : * 연산자 사용. (역참조) ▷ 역참조 : p값인 주소값이 실제로 갖는 값을 가져옴. ▷ 변수 a의 값을 직접 변경하지 않아도 포인터 변수 p의 역참조를 통해 a의 값을 변경할 수 있음. int a = 100; int *p = &a; // a의 주소값을 이용해 포인터 변수 p의 값을 초기화 *p = 200; // 변수.. 2021. 10. 27.
[자료구조] 07. 배열과 구조체 배열 (Array) ▶ 같은 자료형의 변수를 여러 개 만드는 경우에 사용한다. (타입이 같은 데이터들을 하나로 묶는 방법.) ▷ 예시 : int list 1, list 2, list3, list4, list5, list6; → int list [6]; ▶ 1차원 배열(One-Dimensional Array; Vector) int value, list[6]; // 정수형 배열과 변수 선언 list[0] = 100; // 배열 첫번째 원소에 값을 할당.(100 할당) value = list[0]; // 배열 첫번째 원소의 값을 가져와 value 수에 할당. (value = 100) ▶ 2차원 배열(Two-Dimensional Array; Matrix) int list[3][5]; //정수형 2차원 배열 선언.. 2021. 10. 26.
[자료구조] 06. 재귀 (Recursion) 재귀란? ▶ 알고리즘이나 함수가 실행 중에 자기 자신을 다시 호출하여 (함수 정의에서 자기 자신 호출 포함) 문제를 해결하는 기법이다. 정의 자체가 순환적으로 되어 있는 경우에 적합하다. ▶예시 : 팩토리얼 구현 int factorial(int n) { if(n ALGORITHYM factorial(n) // 알고리즘 이름 //Input : n (Integer; n >= 0) //Output : n! if n ▷모든 재귀 알고리즘은 2 part로 나뉜다. 1) Base Case (= Escape Condition) : 탈출 조건 → 탈출 조건이 없다면 시스템 오류가 발생할 때까지 무한 호출하게 된다. 2) General Case : 일반적 정의 재귀(Recursion) vs 반복(Iteration) ▶ .. 2021. 10. 23.
[자료구조] 05. 알고리즘의 효율성 (최선, 평균,최악) 알고리즘의 효율성 1. 최선의 경우 (best case) : 수행 시간이 가장 빠른 경우. (운이 좋은 경우) 2. 평균의 경우 (average case) : 수행 시간이 평균적인 경우. 3. 최악의 경우 (worst case) : 수행 시간이 가장 늦은 경우. (운이 나쁜 경우) ▶ 예시 : 순차 탐색에서의 최선, 최악, 평균 ▷ 최선의 경우 : 찾는 숫자가 맨 앞에 있는 경우. (입력에 무관해지므로, 의미 없는 경우가 많음.) → O(1) ▷ 최악의 경우 : 찾는 숫자가 맨 뒤에 있는 경우. (가장 널리 사용됨. 응용에 따라 중요한 의미를 가짐. 계산하기 쉬움.) → O(n) (O(10)이 아닌 이유 : 뒤에서부터 찾기 시작해도 제일 마지막에 찾아야 하기 때문이다.) ▷ 평균적인 경우 : 각 요소들이.. 2021. 10. 22.
[자료구조] 04. 빅오메가 표기법 & 빅세타 표기법 빅오메가 표기법 (Big Omega) ※ 수학적 정의 : 모든 n ≥ n0에 대하여 |f(n)| ≥ C|g(n)|을 만족하는 2개의 상수 C와 n0가 존재하면 f(n) = Ω(g(n))이다. ▶ 함수의 하한 (lower bound)을 표시한다. ▶ 예를 들어, f(n) = 2n +1일 때, n ≥ 5이면 2n + 1 < 10n이므로 f(n) = Ω(n)이다. ▶ 빅오 표기법이 Worst Case에 대한 표기법이라면, 빅오메가 표기법은 Best Case에 대한 표기법이다. 빅세타 표기법 (Big Theta) ※ 수학적 정의 : 모든 n ≥ n0에 대하여 C1|g(n)| ≤ |f(n)| ≤ C2|g(n)|을 만족하는 3개의 상수 C1, C2와 n0가 존재하면 f(n) = Θ(g(n))이다. ▶ 함수의 상한인.. 2021. 10. 21.