본문 바로가기

전체 글

(19)
Ch 06. 관계 데이터 연산 김연희, 『데이터베이스 개론』, 한빛아카데미(2022.07.20), Chpater 04 Ch6. 관계 데이터 연산 관계 데이터 연산을 일반 집합 연산자와 순수 관계 연산자로 나누어 학습한다. 6.1. 관계 데이터 연산의 개념 관계 데이터 연산 관계 데이터 모델에서 원하는 데이터를 추출하기 위해 릴레이션에 처리를 요구하는 것으로, 관계 대수와 관계 해석으로 나눌 수 있다. 관계 대수(relational algebra)는 데이터의 처리 과정을 순서대로 기술하는 절차 언어이고, 관계해석(relational calculus)는 원하는 데이터가 무엇인지만 기술하는 비절차적 언어이다. 이 둘은 개념적 언어로 실제 사용되지는 않는다. 하지만 데이터 언어의 유용성을 검증하는 도구로써 쓰인다. 6.2. 관계 대수 6.2..
[ 백준 21610번 마법사 상어와 비바라기 ] Python 코드 (Simulation) 1. 문제 https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 2. 아이디어 코드 짜기가 어려운 문제는 아닌데, 시간초과가 나버렸다. 두손 모아 기도하며 PyPy로도 돌려보았지만 여전히 시간초과였다. 주저리주저리 설명할 것 없이, 내가 개선한 방법만 말하면 다음 3가지다. 리스트 복사는 하지 않는다. 시간복잡도 O(n) 리스트의 모든 요소를 복사해야하기 때문에 시간복잡도가 O(n)이다. 가능하면 리스트 대신 집합에서 in 구문을 쓰자. 시간..
[ 백준 2156번 포도주 시식 ] Python 코드 (DP) 1. 문제 https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 2. 아이디어 다이나믹 프로그래밍의 핵심은 DP배열이 가지는 의미 & DP배열을 계산하는 방법이다. 2.1. DP배열이 가지는 의미 지금까지 풀어본 문제들을 보면, DP[n]은 대부분 다음 두 가지 중 하나의 의미를 가졌다. n번째를 선택했을 때의 최적값 n번째까지 고려했을 때의 최적값 (n번째를 선택하지 않는 경우까지 고려) 이 문제는 두번째 경우에 해당한다. 왜냐하면 최댓값을 만드는데..