본문 바로가기

분류 전체보기277

[Leetcode] Two Sum 링크https://leetcode.com/problems/two-sum/ 정답 1class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i in range(len(nums)): for j in range(i + 1, len(nums)): if nums[j] == target - nums[i]: return [i, j] 정답 2class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: hashmap = {} for.. 2025. 4. 29.
[제품 리뷰 언어 분석] 라이브러리 호출from selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.by import Byfrom selenium import webdriverfrom selenium.webdriver.chrome.service import Service as ChromeServicefrom webdriver_manager.chrome import ChromeDriverManagerimport time.. 2025. 3. 12.
[오즈비] p-value 실효성 계산 https://www.perplexity.ai/page/rojiseutig-hoegwibunseogeul-to-2oqjElr1TgW3DyJSc.6zdQ 로지스틱 회귀분석을 통한 오즈비 및 신뢰구간 계산 방법import pandas as pd import statsmodels.formula.api as smf import numpy as npwww.perplexity.ai  로지스틱 회귀 모델 적합import statsmodels.api as sm# 변수 설정X = cluster_df[['PCA_Cluster_9', 'PCA_Cluster_2', 'Target_Men', 'conversion_rate', 'join_period', 'shipment_fee']]y = cluster_df['is_churned.. 2025. 3. 10.
[오답 풀이] 38회차 기출 변형 1. 다음 중 데이터베이스 논리 모델에 대한 설명으로 올바으지 않은 것은?개념 데이터 모델은 사용자 관점에서 데이터 요구사항을 식별한다.논리 데이터 모델은 M:N 관계해소, 식별자 확정, 정규화, 무결성 정의 등을 수행한다.논리 모델은 데이터베이스를 구축을 위해서만 사용되는 것이다.데이터가 물리적으로 저장되는 방법을 정의하는 것이 물리적 모델이다.해설1. “개념 데이터 모델은 사용자 관점에서 데이터 요구사항을 식별한다.”• 개념 데이터 모델은 비즈니스 요구사항을 기반으로 주요 엔터티와 관계를 정의하며, 기술적 세부사항 없이 사용자 관점에서 데이터를 추상적으로 표현합니다. 2. “논리 데이터 모델은 M:N 관계 해소, 식별자 확정, 정규화, 무결성 정의 등을 수행한다.”• 논리 데이터 모델은 개념 모델을 .. 2025. 3. 7.
[오답풀이] 2과목 1. SUBSTR 결과가 다른 것을 고르시오SELECT SUBSTR('DATABASE',7)FROM DUAL;SELECT SUBSTR('DATABASE',-2)FROM DUAL;SELECT SUBSTR('DATABASE',8,-2)FROM DUAL;SELECT SUBSTR('DATABASE',INSTR('DATABASE','S'),2)FROM DUAL;해설1. `SELECT SUBSTR('DATABASE', 7) FROM DUAL;`• `SUBSTR('DATABASE', 7)`은 문자열의 7번째 문자부터 끝까지 반환합니다.• `'DATABASE'`에서 7번째 문자는 `'S'`이며, 결과는 `'SE'`입니다.2. `SELECT SUBSTR('DATABASE', -2) FROM DUAL;`• `SUBSTR(.. 2025. 3. 6.
[오답 풀이] 1과목 1. 아래의 설명에 알맞은 속성은?업무상 필요한 데이터 이외에 데이터 모델링을 위해업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성이다.파생속성기본속성설계속성PK 속성해설1. 파생 속성 : 다른 속성에 영향을 받아 발생하는 속성입니다.2. 기본 속성 : 업무 분석을 통해 바로 정의한 속성입니다.3. 설계 속성 : 업무상 필요한 데이터 이외에 데이터 모델링을 위해, 업무를 규칙화하기 위해 새로 만들어지거나 변형되는 속성입니다.4. PK 속성 : 엔티티를 유일하게 구분할 수 있는 속성을 의미합니다. 2. 엔터티에 대한 설명 중 가장 적절하지 않은 것은?주식별자와 기본 속성이 없어도 된다.반드시 속성이 존재해야 한다.다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.영속적으로 존재하는 인.. 2025. 3. 6.
[2과목] 관리 구문 제1절 DML1. 테이블 생성 시 주의해야 할 사항으로 가장 적절한 것은?테이블명은 객체를 의미할 수 있는 적절한 이름을 사용하고 가능한 복수형을 권고한다.한 테이블 내에서는 칼럼명을 중복되게 지정할 수 있다.칼럼 뒤에 데이터 유형은 꼭 지정되어야 한다.벤더에서 사전에 정의한 예약어(Reserved Word)도 쓸 수 있다.테이블 생성의 주의사항1. 테이블명은 객체를 의미할 수 있는 적절한 이름을 사용한다. 가능한 단수형을 권고한다.2. 테이블 명은 다른 테이블의 이름과 중복되지 않아야 한다.3. 한 테이블 내에서는 칼럼명이 중복되게 지정될 수 없다.4. 테이블 이름을 지정하고 각 칼럼들은 괄호 "()"로 묶어 지정한다.5. 각 칼럼들은 콤마 ","로 구분되고, 테이블 생성문의 끝은 항상 세미콜론 ";".. 2025. 3. 3.
[2과목] SQL 활용 제1절 서브 쿼리1. 아래에서 설명하는 서브쿼리의 종류로 가장 적절한 것은?서브쿼리의 실행 결과로 여러 칼럼을 반환한다. 메인쿼리의 조건절에 여러 칼럼을 동시에 비교할 수 있다. 서브쿼리와 메인쿼리에서 비교하고자 하는 칼럼 개수와 칼럼의 위치가 동일해야 한다.단일 행(Single Row) 서브쿼리다중 칼럼(Multi Column) 서브쿼리다중 행(Multi Row) 서브쿼리단일 칼럼(Single Column) 서브쿼리해설문제에 필요한 개념 설명: 서브쿼리의 종류서브쿼리는 SQL에서 메인 쿼리 내부에 포함된 쿼리를 의미하며, 다양한 방식으로 데이터를 처리하거나 조건을 제공하는 데 사용됩니다. 서브쿼리는 반환하는 데이터의 형태에 따라 다음과 같은 종류로 나뉩니다:1. 단일 행(Single Row) 서브쿼리:.. 2025. 3. 2.
[2과목] SQL 기본 제1절 관계형 데이터베이스 개요1. 데이터 제어어(DCL)에 해당하는 명령어는?INSERTRENAMECOMMITREVOKE해설데이터 제어어(DCL) 개념데이터 제어어(Data Control Language, DCL)는 데이터베이스에서 사용자 권한을 관리하고 데이터 접근을 제어하는 데 사용되는 SQL 명령어입니다. DCL은 주로 다음과 같은 두 가지 주요 명령어로 구성됩니다1. GRANT: 특정 사용자에게 데이터베이스 객체에 대한 작업 권한을 부여합니다.2. REVOKE: 특정 사용자에게 부여된 권한을 철회합니다.DCL은 데이터 보안과 접근 제어를 목적으로 하며, 데이터베이스 관리자(DBA)가 주로 사용합니다.설명:• INSERT: 데이터 조작어(DML)에 속하며, 테이블에 데이터를 삽입하는 데 사용됩니다.. 2025. 3. 1.
[1과목] 데이터 모델과 SQL 제1절 정규화1. 속성 a, b, c, d, e로 구성된 릴레이션에서 아래와 같은 함수 종속성(Functional Dependency)이 존재할 때, 이 릴레이션의 후보 키로 가장 적절하지 않은 것은?보기: ab -> cde, e -> b, d -> abdabacae함수 종속성1. 함수 종속성(Functional Dependency)• 함수 종속성은 데이터베이스에서 한 속성이 다른 속성을 고유하게 결정하는 관계를 나타냅니다.• 표기법: • : 결정자(Determinant), : 종속자(Dependent).• 예: “학번 → 이름, 학과”는 학번이 이름과 학과를 고유하게 결정함을 의미합니다.2. 후보 키(Candidate Key)• 후보 키는 릴레이션(테이블) 내의 모든 튜플(행)을 고유하게 식별할 수 있.. 2025. 2. 26.
[1과목] 1장 데이터 모델링의 이해 제1절 데이터 모델의 이해1. 데이터 모델링에 대한 설명으로 가장 적절하지 않은 것은?업무 정보를 구성하는 기초가 되는 정보들을 일정한 표기법으로 표현한다.분석된 모델로 데이터베이스를 생성하여 개발 및 데이터관리에 사용하기 위한 것이다.데이터베이스를 구축하는 목적으로 데이터 모델링을 수행하며 업무에 대한 설명은 별도의 표기법을 이용한다.데이터 모델링 자체로서 업무의 흐름을 설명하고 분석하는 부분에 의미를 가지고 있다.해설1. 데이터 모델링의 정의와 목적데이터 모델링은 데이터베이스를 설계하거나 기존 시스템을 재구성하기 위해 데이터를 시각적으로 표현하는 과정입니다. 이를 통해 데이터의 구조, 관계, 속성을 정의하고, 비즈니스 요구사항을 반영하여 데이터베이스 설계에 활용합니다.2. 업무 정보와 데이터 모델링의.. 2025. 2. 25.
[recursive] 멸종 위기의 대장균 찾기 링크https://school.programmers.co.kr/learn/courses/30/lessons/301651 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제정답: Not Exists를 활용한 방법WITH RECURSIVE Generation AS ( SELECT ID, PARENT_ID, 1 AS GENERATION FROM ECOLI_DATA WHERE PARENT_ID IS NULL UNION ALL SELECT e.ID, e.PARENT_ID, g.GENERATION + 1 FROM ECOLI_DATA e JOIN Generation g ON e.. 2025. 2. 25.
[A/B test] 온라인 / 대면 학습 표준오차 계산 함수import pandas as pdimport numpy as np# 데이터 로드data = pd.read_csv("Online Classroom.csv")online = data.query("format_ol==1")["falsexam"]face_to_face = data.query("format_ol==0 & format_blended==0")["falsexam"]# 표준 오차 계산 함수def se(y: pd.Series): return y.std() / np.sqrt(len(y)) 신뢰 수준# z statistic 설정 (95% 신뢰 수준)z = 1.96# 신뢰 구간 계산 함수def confidence_interval(mean, se, z=1.96): margin = z.. 2025. 2. 13.
[SMTP] 이메일 자동화 .env 파일 저장my_email = "****"password = "****"발송 코드(내용 및 파일)import osimport smtplibfrom email import encodersfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImagefrom email.mime.base import MIMEBasefrom dotenv import load_dotenv# 환경 변수 로드load_dotenv()my_email = os.getenv("my_email")to_email = os.getenv("to_email")password = os.gete.. 2025. 2. 13.
[Funnel Analysis] 홈페이지 - 장바구니 - 결제에 따른 퍼널 변화 시간 차이 계산homefunnel = df[df['event_name'].isin(['HOMEPAGE', 'ADD_TO_CART', 'BOOKING'])]homefunnel['datetime'] = pd.to_datetime(homefunnel['datetime'])homefunnel = homefunnel[['session_id', 'event_name', 'datetime']]# 1. 각 이벤트 필터링homepage_data = homefunnel[homefunnel['event_name'] == 'HOMEPAGE']add_to_cart_data = homefunnel[homefunnel['event_name'] == 'ADD_TO_CART']booking_data = homefunnel[homefu.. 2025. 2. 13.
[Cohort Analysis] 첫 거래후 다른 카테고리 확장 구매 고객 vs 동일 카테고리에 머무른 고객 고객 세그먼트# 첫 거래후 특정 카테고리로 확장 구매를 한 고객 vs 동일 카테고리에 머무른 고객first_purchase = merged_df.sort_values('transaction_date').drop_duplicates(subset=['customer_id'])after_purchase = merged_df[~merged_df.index.isin(first_purchase.index)]# 첫 거래 카테고리와 이후 카테고리 비교def has_category_expansion(customer_id): first_category = first_purchase.loc[first_purchase['customer_id'] == customer_id, 'subCategory'].values[0] .. 2025. 2. 13.
[e-commerce] final-project 어떤 데이터를 분석하나?https://www.kaggle.com/datasets/bytadit/transactional-ecommerce/data E-commerce App Transactional DatasetCuctomer360 transactional dataset. For study only please, not for reserach use!www.kaggle.com  테이블 구성customerclick_streamtransactionsproductCustomer Table (고객 정보):고객의 고유 ID, 이름, 성별, 이메일, 기기 정보, 위치 정보, 앱 가입 날짜를 포함.Product Table (제품 정보):패션 제품의 카테고리, 색상, 사용 목적, 시즌별 타겟 등 제품 세부 정보를 포함.. 2025. 1. 23.
[DAU, Funnel] 어느 단계에서 이탈이 발생하는가? 목표- DAU(일간 활성자 수), MAU(월간 활성자 수) 추이는? - 어느 요일에 가장 많이 방문하는가?- 사이트 체류시간 평균은? - 조회만 한 유저, 장바구니에 담은 유저, 구매까지 한 유저별 체류시간 비교- 퍼널 분석 - 어느 단계에서 가장 많은 이탈이 발생하는가? - 어느 집단(군집)에서 가장 많은 이탈이 발생하는가? 라이브러리 호출import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsimport plotly.express as pximport warningswarnings.filterwarnings("ignore")from scipy import statsimport.. 2025. 1. 14.
[QCC] Cohort-Analysis SQL 문제 1테이블 설명 :students 테이블은 학생에 대한 정보를 담고 있습니다. 테이블 구조와 각 컬럼의 의미는 다음과 같습니다.컬럼명 타입 설명STUDENT_IDINT학생 ID (PK)NAMEVARCHAR학생 이름GENDERCHAR(1)성별 (M/F)AGEINT나이SCOREDECIMAL시험 점수분석해야 할 내용은 다음과 같습니다 :각 성별(GENDER) 기준으로 시험 점수가 높은 상위 3명의 학생 성별, 이름과 점수를 반환하는 SQL 문을 작성하세요.두 학생이 동점일 경우, 나이가 많은 학생을 우선합니다. 결과는 성별(GENDER) 오름차순, 순위 오름차순으로 정렬하여 출력하세요.출력 값 예시students 테이블이 다음과 같다면 :STUDENT_ID NAME GENDER AGE SCORE1Alice.. 2025. 1. 13.
[CRM] e-commerce 라이브러리 호출import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings("ignore")import datetime as dtpd.set_option('display.max_columns', None)sns.set_style('whitegrid')palette = 'Set2'import squarifyfrom operator import attrgetterimport matplotlib.colors as mcolorsfrom sklearn.metrics import (silhouette_score, .. 2025. 1. 10.