본문 바로가기
  • Welcome.

분류 전체보기292

[자료구조] #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.
[C언어] 예제 - 등비수열 n번째 항 구하기 어떤 규칙에 따라 수를 순서대로 나열한 것을 수열이라고 한다. 예를 들어 2 6 18 54 162 486 ... 은 2부터 시작해 이전에 만든 수에 3을 곱해 다음 수를 만든 수열이다. 이러한 것을 수학에서는 앞뒤 수들의 비율이 같다고 하여 등비(비율이 같다의 한문 말) 수열이라고 한다. 등비 수열을 알게된 영일이는 갑자기 궁금해졌다. "그럼.... 13번째 나오는 수는 뭘까?" 영일이는 프로그램을 만들어 더 큰 수도 자동으로 계산하고 싶어졌다. 시작 값(a), 등비(r), 몇 번째인지를 나타내는 정수(n)가 입력될 때 n번째 수를 출력하는 프로그램을 만들어보자. ㅡㅡㅡㅡㅡ #include void main() { int a, r, n; printf("첫째항(a), 등비(r), 몇번째(n) 항 인지 입력.. 2021. 3. 10.
[C언어] 예제 - 축구의 신 -1- 문제 지금 1반과 2반이 축구를 하고있다. 축구경기 타임은 총 90분이고, 현재 1반이 0점, 2반이 2점인 상황에서, 1반은 경남정보고 최고의 스트라이커인 성익이를 투입하기로 결정했다. 성익이는 5분마다 골을 넣을 수 있는 능력을 가지고 있다. 만약 80분에 투입이 되면 80분에 곧바로 골을 넣게되고 85분에 골을 넣음으로서 동점이 가능하게 된다. (90분이되면 경기가 바로 종료되므로 골을 넣을 수 없다. 동내심판인 성빈이는 성익이가 잘 되는 것을 싫어하기 때문에 추가시간 따위는 주지 않는다. ) 현재 경기타임과 우리팀의 득점이 입력으로 주어 질때, 성익이를 투입하면 우리팀의 최종 득점은 몇 점인지 출력하시오. 입력 현재 경기시간과 우리팀의 득점이 입력으로 주어진다.(정수) 출력 경기가 끝났을때 우리팀.. 2021. 3. 9.
728x90