목록2025/12/26 (5)
cmod.ify
🚀 SQL DDL & 제약조건 통합 실습1. 부모 테이블 생성: 부서 정보 (tDepart)가장 먼저 참조될 부모 테이블을 만듦. 기본키와 CHECK 제약조건을 포함함.CREATE TABLE tDepart ( depart VARCHAR(20) PRIMARY KEY, -- 부서명 (기본키) area VARCHAR(10) NOT NULL, -- 근무 지역 floor INT CHECK (floor >= 1) -- 층수 (1층 이상만 가능)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;-- 초기 데이터 삽입INSERT INTO tDepart VALUES ('인사과', '서울', 3);INSERT INTO tDepart VALUE..
키(Key) 개념 정리종류설명특징슈퍼키 (Super Key)레코드를 유일하게 식별할 수 있는 속성들의 집합유일성 만족 (최소성은 만족 안 해도 됨)후보키 (Candidate Key)슈퍼키 중 최소성을 만족하는 키기본키가 될 수 있는 후보들기본키 (Primary Key)후보키 중 설계자가 지정한 메인 키NULL 불가, 중복 불가 (하나만 설정)대체키 (Alternate Key)후보키 중 기본키로 선택되지 않은 나머지기본키 부재 시 식별자로 활용 가능참조키 (Foreign Key)다른 테이블의 기본키를 참조하는 키참조 무결성 유지, NULL 가능 🏗️ SQL 테이블 생성 및 데이터 타입 정리CREAT [TEMPORARY] TABLE [IF NOT EXISTS] 테이블명( 컬럼명1 타입 [CONSTRAINT..
이건 보고 풀이가 바로 생각났다입력 받고정렬하고SET으로 중복 제거하고조회할때 오래걸릴테니 dict 형태로 저장 후 조회하기 import sysinput = sys.stdin.readlinen = int(input())n_list = list(map(int, input().split()))n_set_list = list(set(n_list))n_set_list.sort()n_dict = {}for i in range(len(n_set_list)): n_dict[n_set_list[i]] = i for i in n_list: print(n_dict[i], end=' ')
문제 이해 최대 500*500 사이즈이고 그 중에서 256 최대 높이니까 완전탐색 가능 입력 받으중앙값 구함 안되네 애매하게 더 쌓아야할 수도 있으니까 시간이 적어야 하니까 타입별로 계산을 해야 하네 최소높이부터 최대높이까지 완전탐색을 해야겠다 면서 최저점이랑 최고점을 저장해 놔야겠다 최저 0이고 최고 1이면 0부터 1까지 기준을 0부터 시작 만약 다음 값이 기준보다 크면 차이값씩 증가 기준값보다 작으면 차이 * 2씩 감소 그럼 필요한 변수는 n, m, b ground list time = 0 block = 0 ======================================== 코드 계획 n, m, b ground list 입력 받으면서 Min, Max 저장하기 time = Max*n*m blo..
문제 이해 h로 자른 윗 부분 가져갈거고 m만큼 필요함 높이를 하나씩 잘라보면 백만 * 20억이 드니 이분탐색으로 시간 절약 필요 ======================================== 코드 계획 n, m 입력 map으로 입력 받아서 tree 배열에 저장 정답 answer 초기화 low = 1 high = max(tree) + 1 low 1) mid 계산 2)h 변수 초기화 3) tree 순회하며 잘린 길이 h에 저장 4) h가 m보다 크거나 같은지 확인(문제에서 적어도라고 했으니) 가져갈 나무가 충분하다? 그러면 나무를 아껴야 하니까 low를 높여보자 정답에 h 중 큰거 저장 low = mid +1 5) 아니라면 안짤렸다. 높이를 낮추자 high = mid - 1 answer 출력 h..