SET Operator 1. 개념 두 개 이상의 테이블에서 여러 개의 질의 결과를 연결하여 하나로 결합하는 연산자이다. 2. 연산자 유형 (1) UNION - 합집합을 의미한다. 중복을 제거하고 모두 포함한 결과를 반환한다. - SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명1 WHERE 조건식1 UNION SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명2 WHERE 조건식2; (2) UNION ALL - 합집합을 의미하나, 중복된 항목을 포함하여 결과를 반환한다. - SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명1 WHERE 조건식1 UNION ALL SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명2 WHERE 조건식2; (3) INTERSECT - 교집합을..
이진 탐색 알고리즘 Q www.acmicpc.net/problem/7795 7795번: 먹을 것인가 먹힐 것인가 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 www.acmicpc.net A 이진 탐색 알고리즘을 쓰는데, bisect 라이브러리를 활용하면 더 쉽게 풀 수 있다. bisect 사용 코드 from bisect import bisect_left, bisect_right import sys testcase = int(sys.stdin.readline().rstrip().split()) for _ in range(..
Transaction(트랜잭션) 1. 개념 트랜잭션은 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위이다. - 활동상태(Active) : 초기상태, 트랜잭션이 실행 중일 때 가지는 상태 - 부분완료상태(Partially Committed) : 마지막 명령문이 실행된 후에 가지는 상태 - 완료상태(Committed) : 트랜잭션이 성공적으로 완료된 후 가지는 상태, 부분완료상태에서 COMMIT하면 된다. - 실패상태(Failed) : 정상적인 실행이 더이상 진행될 수 없을 때 가지는 상태 - 철회상태(Aborted) : 데이터베이스가 트랜잭션 시작 전 상태로 환원된 상태, 실패상태에서 ROLLBACK 사용 2. 특징 - Atomicity : 분해가 불가능한 작업의 최..
이진 탐색 알고리즘 파라메트릭 서치 Q www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net A 이진 탐색 문제이다. 다만, 문제를 그냥 풀기보다는 파라메트릭 서치를 적용하여 결정 문제로 바꾼 뒤에 푸는 것이 훨씬 간단해진다. 가장 인접한 두 공유기 사이의 최대 거리를 구하는 문제이므로, 최대 거리를 범위로 잡고, 공유기를 다 설치할 수 있는지 결정하는 문제로 바꿔서 풀었다. 코드 import sys n, c =..