SQL : DDL, DML, DCL 모두 포함 1) 테이블 생성 create table ( 컬럼1 자료형1, 컬럼2 자료형2 ); * 자주 쓰이는 자료형 - char(n) : 길이가 n인 고정길이 문자열, n보다 짧게 입력된 값은 공백으로 채워짐 - varchar(n) : 길이가 최대 n인 가변길이 문자열, 입력된 길이만큼 저장 - nvarchar2(n) : 길이가 최대 n인 가변길이 유니코드 문자열 2) 테이블 삭제 drop table ; 3) 테이블 삽입 insert into values (컬럼1, 컬럼2, 컬럼3); 4) 테이블 검색 select * from [where ]; ex) create table STUDENT ( sno number(3), sname nvarchar2(4) constrai..
분류 전체보기
1. 문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 2. 접근 스택이란 ? 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 자료구조 - push : 스택에 넣는 것 - pop : 스택에서 빼는 것 - size : 스택의 크기를 구하는 것 - empty : 스택이 비었는지 확인 - top : 스택의 가장 윗 데이터 반환 stack이 정의되어 있을 때, stack.append() : 리스트의 맨 끝에 원소 추가 stack...
1. 문제 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 2. 접근 find() : 문자열에서 특정 문자가 몇 번째에 위치해 있는지에 대한 값을 반환한다. (문자열에서만 사용, 리스트나 튜플은 index() 사용) 찾는 문자가 없는 경우, -1 반환 chr() : 아스키 숫자를 문자로 반환한다. 3. 정답 s=input() arr=list(range(97,123)) for x in arr : print(s.find(chr(x)))..
1. 릴레이션 조작을 위한 연산의 표현 방법 1) 절차 언어 - 관계 대수 2) 비절차 언어 - 투플/도메인 관계해석 2. 관계 대수 1) 릴레이션 = Set of tuples · 릴레이션에 대한 연산결과 -> 릴레이션 2) 연산자의 종류 · 일반 집합 연산자 : 합집합, 교집합, 차집합, 카티션 프로덕트 · 순수 관계 연산자 : 실렉트, 프로젝트, 조인, 디비전 3. 기본 연산자 릴레이션 R, S에 대해 모두 같은 스키마일 때, 1) 합집합 (∪) · R∪S = { t | t ∈ R ∨ t ∈ S } · |R∪S| ≤ |R| + |S| · 합집합 원소의 개수(Cardinality) ≤ 각 원소 개수의 합 2) 교집합 (∩) · R∩S = { t |t ∈ R ∧ t ∈ S } · |R∩S| ≤ min(|..
1. 문제 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 2. 접근 연속합은 동적계획법이나 분할정복 등의 여러 알고리즘으로 구할 수 있는데, 그 중 시간복잡도가 가장 낮은 동적계획법으로 구현했다. * 동적계획법이 아닌 다른 알고리즘은 아래에 참고하면 된다. https://2nnsv.tistory.com/40 [알고리즘] 연속 부분 수열의 합 연속 부분 수열의 합? : 비어 있지 않는 숫자 배열에서 합이 최대가 되는 연속된 부분수열 구간의 합 아래와 같은..
연속 부분 수열의 합? : 비어 있지 않는 숫자 배열에서 합이 최대가 되는 연속된 부분수열 구간의 합 아래와 같은 정수 배열이 있을 때, -2 -3 4 -1 -2 1 5 -3 4부터 5까지의 연속된 구간의 합은 7로 다른 부분 배열의 합보다 항상 크다. 이처럼 연속적인 부분 수열의 최대 합을 구하는 것이 이 문제의 목표이다. 1) 완전 탐색(Brute Force) : 가능한 모든 경우의 수를 조사해 찾는 알고리즘 👉 배열의 인덱스를 0부터 시작해 한 단계씩 나아가면서 중간값을 사용해 결과를 낸다. 먼저, 고려해야 할 부분은 크기가 1인 부분 수열의 합 현재까지 구한 답에 현재 배열의 인덱스 값을 더해서 끝내는 경우 현재까지 구한 값을 버리고 현재 인덱스 값으로 다시 시작하는 경우 현재 값과 현재까지 만든..
1. 벨만 포드 : 그래프 상의 한 정점으로부터 다른 모든 정점들까지의 최단 경로를 구하는 알고리즘 - single-source 최단경로 알고리즘 - 가중치가 음수인 경우도 적용 가능 - 가중치가 사이클을 이루는 경우 불가능 - 시간 복잡도 O(nm) (최악의 경우 최대 n개의 정점, n-1개의 간선) - 동작과정 - 가장 가까운 노드를 탐색해 한 단계 거칠 때마다 최단 거리를 확정해 나감. - (n-1)번 반복해 모든 노드 간의 최단 거리를 완화해 나감. s에서 u까지의 최단 경로가 다음과 같다고 가정하자. 처음에는 모두 upper[] 상태 시작노드인 s는 upper[s] = dist [s] = 0 이다. 모든 간선을 탐색해 relaxation 과정을 반복한다. upper[a]
Sliding Window 란? 고정된 크기의 윈도우가 이동하면서 윈도우 내의 데이터를 이용해 문제를 풀어가는 알고리즘 배열, 리스트의 요소의 일정 범위의 값을 비교할 때 유용한 알고리즘이다. def maxSum(arr,k): n = len(arr) # length of arr if n 주어진 arr에서 더해서 최대가 되는 값 찾기 참고 https://www.thecrazyprogrammer.com/2017/05/sliding-window-protocol-program-c.html
1. 관계 데이터 모델 · 관계형 데이터베이스의 모델 · 모든 데이터는 릴레이션(≒테이블)으로 표현 2. 용어 1) 릴레이션 : 릴레이션 스키마 + 릴레이션 인스턴스 2) 릴레이션 스키마 · 속성들의 집합, 릴레이션의 논리적 구조 · 시간에 따라 불변 · 릴레이션 스킴 / 내포 3) 릴레이션 인스턴스 · 일정 시점에서의 투플(tuple)들의 집합 · 시간에 따라 가변 4) 투플(tuple) · 속성에 해당하는 데이터의 모임 5) 속성(attribute) · 단순 속성 : 단일값, 관계형 데이터베이스에 사용 · 복합 속성 : 단순 도메인의 결합, 하나의 속성으로 취급 (ex-DATE : YEAR, MONTH, DAY의 결합) · 속성값은 분해할 수 없는 원자 값 6) 도메인(domain) · 속성이 취할 ..
파이썬 오류 발생 시 f=open("C:\Users\user\Desktop\dict_simplified.txt", "r") 파일 경로를 '\' 로 보통 표시하는데, '\\' 이렇게 두번 작성하면 오류 해결됨. f=open("C:\\Users\\user\\Desktop\\dict_simplified.txt", "r")