분류 전체보기93 조건문 case when binary tree nodesselect N, case when P is null then 'Root' when N in (select distinct P from BST) then 'Inner' else 'Leaf' endfrom BSTorder by N 2024. 6. 10. last three characters Query the Name of any student in STUDENTS who scored higher than Marks. Order your output by the last three characters of each name. If two or more students both have names ending in the same last three characters (i.e.: Bobby, Robby, etc.), secondary sort them by ascending ID.select namefrom studentswhere marks > 75order by right(name,3), id 2024. 6. 5. 정규표현식 필터링 Query the list of CITY names from STATION which have vowels (i.e., a, e, i, o, and u) as both their first and last characters. Your result cannot contain duplicates.select distinct cityfrom stationwhere city regexp '^[aeiou].*[aeiou]$'표현식의미 ^x 문자열의 시작을 표현하며 x 문자로 시작됨을 의미한다.x$ 문자열의 종료를 표현하며 x 문자로 종료됨을 의미한다. .x임의의 한 문자의 자리수를 표현하며 문자열이 x 로 끝난다는 것을 의미한다. x*반복여부를 표현하며 x 문자가 0번 또는 그 이상 반복됨을 의미한다. x+반복.. 2024. 6. 5. active: 최근 90일 이내 방문한 유저 bigquery에서 최근 90일 이내 방문한 유저 수를 뽑으려 한다. 처음엔 rolling window 사용해서 over order by 기능을 썼지만, 이렇게 되면 count(distinct user_id)를 할 수가 없었다...ㅜ계속 방법을 검색하다가 발견한 글....!!How to do rolling count distinct in BigQuery? Analytic function is not a good solution 속도도 빠르고 좋아요~ WITH login as (selectCAST(created_at AS DATE) as `sess_created_at`,-- UNIX_DATE(CAST(created_at AS DATE)) `udate`,user_idfrom `org_.. 2024. 4. 24. Toss Insight 1. 토스 리더가 말하는 PO가 꼭 알아야할 개념 Carry Capacity (한계수용능력): # of New Daily Customer / % Customers you Lost Each Day MAU의 최종 도착지, 서비스가 도달할 최종적인 유저수 # of New Daily Customer: 서비스 런칭하자마자 알 수 있는 정보 % Customers you Lost Each Day: MAU 대비 비율, 서비스의 성장 한계 => 1,2달만에 알 수 있다 cc가 75만인 서비스 -> 유입:7500 이탈율: cc의 1% (7500명) => cc 유지 if 유입: 7000으로 줄면 -> 500씩 유출 => 새로운 평형점 7000/1% -> 70만명 (cc) if 이탈: 0.1%로 줄면 -> 6,750씩 유입 .. 2024. 3. 26. 이상치, 군집 vs 분류, ... 그리고 PCA 작년에 과제로 제출했던 보고서에 대한 튜터님으로부터의 피드백이다. 결측치와 이상치 처리에 대한 코드가 없어요 결측치란, 데이터 수집시 누락된 부분에 대한 처리입니다. 평균값 대체, 최빈값 대체, fillna(0) 등이 있겠습니다. 이상치는 비정상적으로 크거나 작은 값에 대한 처리이므로, boxplot, IQR, z-score, DBscan 등으로 이상치를 제거해주세요 결론적으로 전체 N 개의 데이터 중 A 개가 이상치로 판단하였습니다. PCA 도 좋지만 앞단 전처리에 집중해주세요! 가설설정과 실험내용을 명확하게 기재해 주세요! 내용을 요약해주세요! 어뷰저 기준이 너무 많아요. 대신 다양한 피쳐에 대한 접근은 좋습니다. 데이터를 0과 1 (label)로 나누는 것은 충분한 근거가 필요해요. 이상치를 다양한.. 2024. 3. 18. Bagging VS Boosting 의사결정규칙을 트리 구조로 나타내어 전체 자료를 몇 개의 소집단으로 분류하거나 예측을 수행하는 분석 방법 장점 - 쉽고 해석하기 용이 - 다중분류와 회귀에 모두 적용 가능 - 이상치에 견고, 데이터 스케일링이 불필요 (데이터의 상대적인 순서를 고려해서) 단점 - 트리가 너무 깊으면 과적합될 수 있음 - 훈련 데이터에 민감하여 작은 변화가 노이즈에도 트리의 구조가 크게 달라짐 (불안전성) -> random state 고정 (42) Bagging Bootstrapping + Aggregating의 약어 데이터가 부족한 문제를 해결하기 위한 방법론 데이터를 복원 추출하여 유사하지만 다른 데이터 집단(표본)을 생성 (Bootstrapping) 이 여러 개의 표본을 기반으로 각각의 DT모델을 개발한 후에 예측,분.. 2024. 2. 23. 체육복 여분이 있어도 도난을 당하다니 def solution(n, lost, reserve): # +1, -1의 학생에게만 빌려줄 수 있음 # 최대한 많은 학생이 빌려야 함 # 5, [2,4], [3] -> 한 명만 빌릴 수 있음 # reserve 학생들을 대상으로 -> -1, +1 번호에 lost 학생이 있는지 find -> lost에서 제거 (빌려줌!) # 빌려줄 수 있는데 도난당한 학생은, 자기가 써야하므로 빌려줄 수 없음! lost = set(lost) reserve = set(reserve) # 교집합 찾기 rem_set = lost & reserve lost = lost - rem_set reserve = reserve - rem_set for reserveNum in reserve: if reserveNum-1 in lost: .. 2024. 2. 22. ct 정리 hash() 하나만 찾아야 할 때 유용 ex: 마라톤 미완주자 from collections import Counter Counter: 딕셔너리 형태로 key가 몇 개 (value) 있는지 자동처리 sorted(옵션): reverse=True, key=(lambda x: x[1]) str startswith zfill upper lower isupper islower ascii 알파벳 26개 map(func, iter) dict[key] = value value가 list가 들어가면 +로 append 가능 for key in dict for k,v in dict.items() -> tuple [x for x in list if x > 2] [[False] * n for _ in range(m)] ex: .. 2024. 2. 21. 티켓으로 여행 경로 만들기: BFS 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합니다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다. 모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. from collections import deque def solution(tickets): answer = [] graph = dict() # 출발 공항: 도착 가능한 공항 # 방문 가능한 공항 그래프 생성 for d, a in tickets: graph[d] = graph.get(d, []) + [a] # key=d에 아.. 2024. 2. 16. 이전 1 2 3 4 5 6 7 ··· 10 다음