★ 문제 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오. 예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다. ★ 소스코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br =..
★ 문제 아직 글을 모르는 영석이가 벽에 걸린 칠판에 자석이 붙어있는 글자들을 붙이는 장난감을 가지고 놀고 있다. 이 장난감에 있는 글자들은 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’이다. 영석이는 칠판에 글자들을 수평으로 일렬로 붙여서 단어를 만든다. 다시 그 아래쪽에 글자들을 붙여서 또 다른 단어를 만든다. 이런 식으로 다섯 개의 단어를 만든다. 아래 그림 1은 영석이가 칠판에 붙여 만든 단어들의 예이다. A A B C D D a f z z 0 9 1 2 1 a 8 E W g 6 P 5 h 3 k x 한 줄의 단어는 글자들을 빈칸 없이 연속으로 나열해서 최대 15개의 글자들로 이루어진다. 또한 만들어진 다섯 개의 단어들의 글자 개수는 서로 다를 수 있다. ..
★ 문제 N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오. 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다. ★ 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int[][] arr = new ..
★ 트리거(Trigger) 프로시저의 한 종류 개발자가 호출하는게 아니라, 미리 지정한 특정 사건이 발생하면 자동으로 실행되는 프로시저 예약(사건) > 사건 발생 > 프로시저 호출 특정 테이블 지정 > 감시(insert or update or delete) > 미리 준비해 놓은 프로시저 호출 트리거 사용 양식 create or replace trigger 트리거명 before|after insert|update|delete on 테이블명 [for each row] declare 선언부; begitn 구현부; exception 예외처리부; end; ■ 사용 ex) ex 1) tblInsa > 직원 삭제 create or replace trigger trgInsa before --삭제하기직전에 프로시저를 실..
★ 저장 함수(Stored Function) 저장 프로시저와 동일 반환값이 반드시 존재 > out 파라미터 사용(X) > return 문 사용(O) out 파라미터 사용 안함 > out 동작 가능 in 파라미터 사용함 이 특성때문에 함수는 프로시저와 조금 다른 상황에서 사용 ■ 사용 ex) ex 1) 선언 create or replace function fnSum ( pnum1 in number, pnum2 in number ) return number is begin return pnum1 + pnum2; end fnSum; 호출 방법 1 declare vresult number; begin -- 프로시저 out > 개수 1개 이상 -- 함수 return > 개수 딱 1개 vresult := fnSum..
★ PL/SQL Oracle's Procedural Language Extension to SQL ANSI-SQL 표준 SQL에 절차 지향 언어의 기능을 추가한 SQL ANSI-SQL + 자바같은 프로그래밍 언어의 기능 = PL/SQL ★ ANSI-SQL 비절차 지향 언어 순서가 없고 문장간의 행동이 서로 독립적이다. 문장 단위 구조 ★ 프로시저 메소드, 함수 등... 순서가 있는 명령어의 집합(ANSI-SQL + PL/SQL)의 집합 1. 익명 프로시저 - 1회용 코드 작성용 2. 실명 프로시저 저장(데이터베이스) > DB object 재사용 가능 계정간 공유 가능 PL/SQL 프로시저 블럭 구조 4개의 키워드(블럭)으로 구성 a. declare b. begin c. exception d. end a...
★ 데이터베이스 설계 요구사항 수집 및 분석 개념 데이터 모델링 논리 데이터 모델링 물리 데이터 모델링 데이터베이스 구축 ★ 데이터 모델링 요구 분석 기반 > 수집한 데이터 > 분석 > 저장 구조 생성 > 도식화 > ERD(산출물) 데이터 저장하기 위한 데이터 구조를 설계하는 작업 DBMS 종류를 결정하지 않는다. 개념 데이터 모델링 > 간단하게 표현한 설계도 > 테이블 + 컬럼 + 관계 논리 데이터 모델링 > 관계형 데이터베이스 성질 반영 > 속성 + 도메인 + 키 > 제대로된 설계도 물리 데이터 모델링 > 특정 DBMS 결정 > 오라클 선정 + 반영 > 물리적 설정.. ■ 1. ERD, Entity Relationship Diagram 엔티티간의 관계를 표현한 그림 관계형 데이터베이스 모델링 기법 중..
★ 트랜잭션(Transaction) 데이터를 조작하는 업무의 시간적 단위 일련의 사건의 집합. ex) 은행에서 돈을 인출하는 행동(1~8번 행동) 1개 이상의 명령어로 구성된 작업 단위 트랜잭션 명령어 DCL, TCL 1. commit : 현재 작업한 내용을 저장 2. rollback : 현재 작업을 취소하고 되돌림 3. savepoint : 현재 작업한 내용을 현재 지점까지 save 지정해놓음 ■ 사용 ex) ex 1) commit; -- 이 시각부터 새로운 트랜잭션이 시작된다!! > insert, update, delete만 트랜잭션에 포함된다. delete from tblTran where name = '박문수'; select * from tblTran; -- 메모리 -- 우리가 하는 모든 inse..