본문 바로가기

etc

(51)
Binary Search, Recursive Binary Search 1. Binary Search단순 Binary Search 코드이다.정렬된 배열에서 특정 값을 찾는 효율적인 알고리즘이다. 검색 범위를 절반씩 줄여나가면서 목표 값을 찾는다.l = 0, r = n-1으로 초기화한 다음에, 중간 값을 찾아서, 범위를 좁혀나간다.a[m] > x 인 경우, 즉 m의 배열값이 x보다 큰 경우 r = m-1로 설정한다. (0~m-1 탐색)a[m]   증명 (Proof by Invariant)invariant는 불변 법칙이다. invariant를 설정하고, invariant가 깨지지 않음을 통해 증명한다.a[i] = x 라면, i는 l과 r의 인덱스 범위 안에 무조건 있을 것이다. 이는 l과 r이 아무리 변해도, a[i] = x인 i는 l과 r의 인덱스 범위 안에 무조건 있기 ..
[SQL] 데이터분석가 많이 쓰는 완전 기초 쿼리 5탄 : 집계함수 count, min, max, sum, avg, decode, group by, having https://www.youtube.com/watch?v=BSA0MhvbikA 본 글은 [SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리, 을 시청하고 정리한 글입니다. 집계 함수 COUNT, MIN, MAX, SUM, AVG 의 예시 SELECT statn_nm , count(*) AS 개수 , MIN(BEGIN_TIME) AS 첫출발시간 , MAX(BEGIN_TIME) AS 마지막출발시간 , SUM(NMPR_CNT) AS 총합 , SUM(NMPR_CNT) / COUNT(*) AS 평균1 , AVG(NMPR_CNT) AS 평균2 FROM dasql.tb_pbtrnsp WHERE statn_nm LIKE '%혜화%' GROUP BY statn_nm; 2개 이상의 컬럼에 대해, COUNT() 함수..
[SQL] 데이터분석가 많이 쓰는 완전 기초 쿼리 4탄 : row number, (dense) rank, ntile https://www.youtube.com/watch?v=TkLIlVCFaLE&t=4s 본 글은 [SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리, 을 시청하고 정리한 글입니다. 분할하는 쿼리 PARTITION BY PARTITION BY 고객명 ORDER BY 방문일자 → 고객명으로 분할하고, 방문일자로 정렬하기 PARTITION BY 고객명, 구매항목 → 고객명으로 우선 분할하고, 구매항목으로 분할하기 PARTITION BY 고객명, 구매항목 ORDER BY 방문일자 DESC ROW_NUMBER() → 순서가 동차라면 랜덤으로 1번, 2번을 정함 ROW_NUMBER()의 예시 ROW_NUMBER () OVER (PARTITION BY 고객명 ORDER BY 방문일자) AS 순서 RANK ()..
[SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리 3탄 : 테이블 생성, 삭제, JOIN https://www.youtube.com/watch?v=E-8kpSSLulU 본 글은 [SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리, 을 시청하고 정리한 글입니다. LEFT JOIN 왼쪽 테이블의 키 값을 기준으로, 오른쪽 테이블을 붙이는 것 RIGHT JOIN 오른쪽 테이블의 키 값을 기준으로, 왼쪽 테이블을 붙이는 것 INNER JOIN 두 테이블을 키 값을 기준으로 조인하여, 교집합을 만드는 것 FULL OUTER JOIN 합집합(둘 중의 하나의 키값만 있어도 조인) UNION 행을 기준으로 조인하기 때문에, 테이블 구성이 똑같아야 함 UNION ALL 중복 상관 없이, 행을 기준으로 조인하는 것 -- 테이블 생성 및 데이터 삽입 CREATE TABLE dasql.CUST_INFO (..
[SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리 2탄 : 시간 함수 https://www.youtube.com/watch?v=u8G5WAS8_hU 본 글은 [SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리, 을 시청하고 정리한 글입니다. 현재 시각 나타내기 오라클SQL (FROM 테이블명 DUAL은 가짜테이블) SELECT SYSDATE FROM DUAL; SELECT CURRENT_DATE FROM DUAL; SELECT CURRENT_TIMESTAMP FROM DUAL; 임팔라SQL SELECT NOW(); MSSQL SELECT GETDATE(); CHAR 타입을 시간 유형으로 바꾸는 방법 SELECT STD_MT , CONCAT(STD_MT, '01') AS 일자1 , TO_TIMESTAMP(STD_MT, '01'), 'yyyyMMdd') AS 일자2 ,..
[SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리 1탄 https://www.youtube.com/watch?v=XN4iXklAnQw 본 글은 [SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리, 을 시청하고 정리한 글입니다. FROM 절에는 데이터베이스명.테이블 명이 들어감 SELECT * FROM database_name.table_name IN 구문을 이용해, 단어가 2가지 이상 있는 경우 추출 SELECT * FROM dasql.tb_pbtrnsp WHERE statn_nm IN ('목동', '노원') LIKE 구문을 이용해, 원하는 조건의 문자가 있는 경우 추출 WHERE statn_nm LIKE '%입구' WHERE statn_nm LIKE '%대%' WHERE statn_nm LIKE '%종합%' OR statn_nm LIKE '%을지로%..
3장. 데이터베이스 시스템 http://www.kocw.or.kr/home/cview.do?mty=p&kemId=1163794 본 글은 모두를 위한 열린 강좌 KOCW의 한양대학교 백현미 교수님의 데이터베이스의 원리와 응용 강의를 보고 정리한 글입니다. 데이터베이스 시스템(DBS; DataBase System) - 데이터베이스에 데이터를 저장하고, 이를 관리하여 조직에 필요한 정보를 생성해주는 시스템 스키마와 인스턴스 스키마(schema) - 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것 인스턴스(instance) - 스키마에 따라 데이터베이스에 실제로 저장된 값 3단계 데이터베이스 구조 - 미국 표준화 기관인 ANSI/SPARC에서 제안 - 데이터베이스를 쉽게 이해하도록 하나의 데이터베이스를 관점에 따라 세 단계로 ..
[TIL] 2022-09-07 ✅️ [Facts/ 한 것, impression/느낀점] BOJ 14500번 풀기 14500번은 삼성 기출 문제인데, 시뮬레이션 문제로 풀었을 때 경우의 수가 19가지나 되어 까다로웠다. 그래서 정답을 참고해서 풀게 되었다. 문제 풀이의 집중하는 것보다 알고리즘을 이해해보는 기회를 갖도록 하자. ✅️ [what I learned / 배운 것] ✅️ [To-do list/ 할 것] 1. 유튜브 통해 코틀린 공부하기 1일 1로그 100일 완성 IT 지식 2. 이 책 구매해서 읽어보기