본문 바로가기
  • Welcome.

분류 전체보기294

[자료구조] by C언어 #07 [insertion sort] 삽입 정렬 알고리즘 (Insertion Sort) : 앞의 원소부터 차례대로 진행하여 원소 앞의 이미 정렬된 배열에 자신의 위치를 삽입하는 알고리즘 시간복잡도 : O(n**2) ㅡㅡㅡㅡㅡ #include #define MAX 8 void print_array(int list[], int n) { int i; for (i = 0; i remember; --j) // .. 2021. 3. 28.
[자료구조] by C언어 -05- [Merge Sort, Quick Sort] 합병 정렬 알고리즘 (Merge Sort): 정렬할 배열을 더 이상 나눠질 수 없는 배열로 나누어(Divide) 배열 단위별로 정렬(Conquer)해 나가는 알고리즘. 시간 복잡도 : O(n log n) ㅡㅡㅡㅡㅡ #include #define MAX 8 int tmp[MAX]; void merge(int list[], int left, int mid, int right) { int l_idx, r_idx, c_idx, t_idx; // l_idx : 왼쪽 배열의 커서 // r_idx : 오른쪽 배열의 커서 // c_idx : 작은수가 들어가야하는 배열의 현재 위치 // t_idx : 남은 원소를 한꺼번에 저장할 때 사용할 임시 인덱스 l_idx = c_idx = left; r_idx = mid + 1;.. 2021. 3. 27.
[자료구조] #03 by C언어 [재귀호출 알고리즘] [알고리즘1] ㅡㅡㅡㅡㅡ #include void recursive_func(int n){ if (n==0) return; printf("before call: %d\n", n); recursive_func(n-1); printf("after call : %d \n", n); } void main() { recursive_func(5); } ㅡㅡㅡㅡㅡ 아래와 같은 원리가 적용된다. [알고리즘2] ㅡㅡㅡㅡㅡ #include int factorial(int n){ if(n==1) return n; return n*factorial(n-1); } void main(void) { printf("%d \n", factorial(5)); } ㅡㅡㅡㅡㅡ [알고리즘3] ㅡㅡㅡㅡㅡ #include int fibonacc.. 2021. 3. 26.
[DBMS] SQL - 개념 - 3 - [SQL - TCL / SQL - DCL] 1. SQL - TCL 2. SQL - DCL 3. 함수 ( NULL 처리 함수, 단일 함수 ) ================================================================================= 1. TCL ( Transaction Control Language ) - 트랜잭션 제어 언어. - 트랜잭션은 데이터베이스의 논리적 연산 단위이다. - 트랜잭션의 대상이 되는 SQL문은 UPDATE, INSERT, DELETE 등 데이터를 수정하는 DML문이다. - 하나의 트랜잭젼에는 하나 이상의 SQL문장이 포함되며 분할할 수 없는 최소의 단위이다. 즉 ALL OR NOTHING 이다. - 트랜잭션의 특징 1. 원자성 : 트랜잭션에서 정의된 연산들은 모두 성공적으.. 2021. 3. 23.
[DBMS] SQL -7- [SELECT, COMMIT] COMMIT 모든 작업을 정상적으로 처리하겠다고 확정하는 명령어이다. 트랜젝션의 처리 과정을 데이터베이스에 반영하기 위해서, 변경된 내용을 모두 영구 저장한다. COMMIT 수행하면, 하나의 트랜젝션 과정을 종료하게 된다. TRANSACTION(INSERT, UPDATE, DELETE)작업 내용을 실제 DB에 저장한다. 이전 데이터가 완전히 UPDATE된다. 모든 사용자가 변경한 데이터의 결과를 볼 수 있다. ROLLBACK 작업 중 문제가 발생했을 때, 트랜젝션의 처리 과정에서 발생한 변경 사항을 취소하고, 트랜젝션 과정을 종료시킨다. 트랜젝션으로 인한 하나의 묶음 처리가 시작되기 이전의 상태로 되돌린다. TRANSACTION(INSERT, UPDATE, DELETE)작업 내용을 취소한다. 이전 COM.. 2021. 3. 22.
[DBMS] SQL -6- [SELECT] -- EMP 테이블 조회 SELECT * FROM EMP; -- EMP 테이블 중 ENAME 컬럼만 조회 SELECT ENAME FROM EMP; SELECT ENAME FROM EMP; -- EMP 테이블 중 DEPTNO가 20인 데이터만 조회 SELECT * FROM EMP WHERE DEPTNO = 20; -- 컨트롤 + 엔터 -- EMP 테이블 중 DEPTNO가 20이 아닌 데이터만 조회 SELECT * FROM EMP WHERE DEPTNO != 20; -- EMP 테이블에서 급여 ( SAL )가 800이상이고 1200 이하인 사람 검색 SELECT * FROM EMP WHERE SAL >= 800 AND SAL = 1200; -- DEPTNO가 20이고 JOB이 SALESMAN 이나 MANAG.. 2021. 3. 22.
[DBMS] SQL -5- [INSERT, UPDATE, DELETE] SELECT * FROM EMP; INSERT INTO EMP VALUES (7777,'이용현','DEVELOPER','7777',SYSDATE,4000,500,20); SELECT * FROM EMP; INSERT INTO EMP ( EMPNO, ENAME, DEPTNO ) VALUES (7778,'홍길동',10); SELECT * FROM EMP; INSERT INTO EMP (EMPNO, ENAME, DEPTNO ) VALUES(7777,'성춘향',10);--PK중복 INSERT INTO EMP (EMPNO, ENAME, DEPTNO ) VALUES(7779,'무지개',50); SELECT * FROM DEPT; -- UPDATE SELECT * FROM PLAYER; --PLAYER테이블 확인 -.. 2021. 3. 22.
[DBMS] SQL 개념 -2- "E-R모델, 정규화, 시퀀스 ( Sequence )" 2021. 3. 22.
[DBMS] - 4 - SQL - DROP, TRUNCATE ㅡㅡㅡㅡㅡ --테스트 데이터 삽입 INSERT INTO TBL_BOOK VALUES('1000', '소설', 'DBMS', 'ORACLE', 'ORACLE' ); SELECT * FROM TBL_BOOK; -- 내부 데이터 삭제 TRUNCATE TABLE TBL_BOOK; -- 삭제 후 조회 SELECT * FROM TBL_BOOK; ㅡㅡㅡㅡㅡ ㅡㅡㅡㅡㅡ -- 여러 데이터 삽입 후 삭제 INSERT INTO TBL_BOOK VALUES ( '1000','소설', 'DBMS','ORACLE','ORACLE'); INSERT INTO TBL_BOOK VALUES ( '1001','소설', 'DBMS','ORACLE','ORACLE'); INSERT INTO TBL_BOOK VALUES ( '1002','소설.. 2021. 3. 16.
[DBMS] -3- SQL - ALTER ALTER - 테이블을 수정하는 역할을 한다. - 테이블 이름, 컬럼이름, 컬럼 제약 추가 혹은 삭제, 컬럼 제거, 컬럼 추가 - 문법 - 테이블 이름 변경 ALTER TABLE RENAME TO ; - 컬럼명 변경 ALTER TALBE RENAME COLUMN TO ; - 컬럼 추가 ALTER TABLE ADD ( ); - 컬럼 제거 - 안에 데이터가 없어야 삭제가 가능하다. ALTER TABLE DROP COLUMN ; - 컬럼 수정 - 기존의 데이터가 있다면, 변경할 제약조건에 부합해야 수정이 가능하다. CHAR(10) 10글자짜리 데이터가.. 2021. 3. 15.
[DBMS] -2- - SQL - CREATE - 자료형: * 자료형( TYPE ) - 테이블에 저장될 데이터들의 형태 ( 숫자, 문자, 날짜 등 ) - 문자열 - CHAR(길이) - 고정된 길이에 쓰임 - CHAR(13) A___ ( A문자 하나 + 공백 3개 ) JUMIN CHAR(13) 1______________________ - VARCHAR(길이) - 임시 자료형 ( 기능은 VARCHAR2와 같음 ) - 추후에 따른 용도로 변동될수도 있다고 함. - VARCHAR2(길이) - 가변 길이에 쓰임 - VARCHAR2(4) -> A___(x) A - 숫자 - NUMBER(자릿수) - NUMBER(3) ~ 999 - NUMBER(자릿수, 소수점 자릿수) - 날짜 - DATE : 서식에 맞게 시간을 저장하는 타입 - 자릿수 지정을 하지 않는다. ** .. 2021. 3. 15.
[DBMS] SQL 개념 -1- 설치, 기본 문법 2. 프로그램 설치 및 DBMS 개요 - Oracle, Dbeaver 2-1) 오라클 데이터베이스 설치 과정 1. oracle.com 접속 -> 2. 검색창에 11g 검색 -> 3. Oracle Database Express Edition (XE) Downloads -> -> 4. 스크롤 내린 뒤 Prior Release Archive 클릭 -> 자신의 운영체제에 맞는 설치파일 다운로드 - 오라클 아이디 : tedhan1204@gmail.com - 오라클 비밀번호 : Asdf1234! -> 다운로드 후, 압축 해재 후 DISK1 폴더 들어가서 setup 실행 -> 설치 확인 -> win+r - cmd - sqlplus - sys as sysdba // 1234 2-2 ) Dbeaver 설치 Dbeaver.. 2021. 3. 13.
[C언어] 예제 - 시저의 암호 1 [미완] 문제 설명 암호학에서 시저 암호(Caesar cipher)는 가장 오래된 암호 중 하나이고, 가장 대표적인 대치(substitution) 암호로서 평문 문자를 다른 문자로 일대일 대응시켜 암호문을 만들어 낸다. 시저 암호는 알파벳을 3글자씩 밀려서 쓰면서 문장을 만들었다. 실제 시저는 부하인 브루투스에게 암살되기 전에 키케로에게 다음과 같은 암호문을 보냈다고 한다. 암호문 qhyhu wuxvw euxwxv 원문 never trust brutus 암호문을 원문으로 바꾸는 원리는 간단하다. 암호문에 쓰인 알파벳보다 3만큼 이동한 알파벳으로 치환하면 된다. 암호 a b c d e f g h i j k l m n o p q r s t u v w x y z ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓.. 2021. 3. 10.
[C언어] 예제 - 암호해독 [미완] 문제 설명 두 소수의 곱을 암호로 사용하는 알고리즘은 큰 수의 소인수분해가 어렵기 때문에 안전하다고 알려져있다. 그렇지만, 만약 두 소수를 잊어버리면 어떻게 될까? 굉장히 난감할 것이다. 이에 대비해 어떤 수(n)가 입력되면 두 소수의 곱으로 나타낼 수 있으면 두 소수를 오름차순으로 출력하고, 그렇지 않으면 "wrong number"를 출력하는 프로그램을 작성하시오. 입력 어떤 수 n이 입력된다.(단, 1 2021. 3. 10.
[C언어] 예제 - 언제까지 더해야 할까? 1, 2, 3 ... 을 계속 더해 나갈 때, 그 합이 입력한 정수(0 ~ 1000)보다 같거나 작을 때까지 계속 더하는 프로그램을 작성해보자. 즉, 1부터 n까지 정수를 계속 더한다고 할 때, 어디까지 더해야 입력한 수보다 같거나 커지는지 알아보고자 하는 문제이다. 입력 정수 1개가 입력된다. 출력 1, 2, 3, 4, 5 ... 를 순서대로 계속 더해 합을 만들어가다가, 입력된 정수와 같거나 커졌을 때, 마지막에 더한 정수를 출력한다. ㅡㅡㅡㅡㅡ #include void main() { int num; printf("0~1000사이의 숫자를 입력하시오:"); scanf("%d", &num); int sum = 0; int i = 0; while (1) { sum += i; if (sum > num) .. 2021. 3. 10.
728x90