목록2024/04 (10)
짜리몽땅 매거진
문제1. 레스토랑의 일일 매출출처 : solvesql 연습문제문제 정보 : 난이도 2 / 정답률 69.23%https://solvesql.com/problems/daily-revenue/ https://solvesql.com/problems/daily-revenue/ solvesql.com 정답 쿼리select day, sum(total_bill) as revenue_dailyfrom tipsgroup by dayhaving revenue_daily >=1000order by revenue_daily desc 문제 해설문제2. 쇼핑몰의 일일 매출액과 ARPPU출처 : solvesql 데이터리안 sql캠프 입문반문제 정보 : 난이도 3 / 정답률 37.09%https://solvesql.com/prob..
데이터 전처리에는 여러 과정이 포함되지만, 그 중에서도 이상치(Outlier) 처리는 매우 중요한 단계이다. 이상치란 일반적인 데이터 패턴에서 벗어난 값으로, 종종 잘못된 데이터 입력이나 측정 오류로 인해 발생한다. 이상치 처리는 데이터 분석 결과의 신뢰성을 높이고 모델 성능을 향상시키는 데 도움을 준다. 0. 이상치 처리 방법 이상치 탐색: 가장 먼저 해야 할 작업은 데이터에서 이상치를 탐색하는 것이다. 상자 그림(box plot)이나 히스토그램(histogam) 등의 시각화 도구를 사용하여 데이터의 분포를 확인하고 이상치를 찾을 수 있다. 이상치 제거: 이상치를 발견했다면, 해당 이상치를 제거하는 것이 일반적이다. 이 단계에서는 이상치가 잘못된 데이터 입력이나 측정 오류로 인해 발생한 것인지 확인해야..
문제1. 우리 플랫폼에 정착한 판매자 2 출처 : solvesql 연습문제 문제 정보 : 난이도 2 / 정답률 28.17% https://solvesql.com/problems/settled-sellers-2/ https://solvesql.com/problems/settled-sellers-2/ solvesql.com 정답 쿼리 select seller_id, count(distinct order_id) as orders from olist_order_items_dataset where price >= 50 group by seller_id having orders >=100 order by orders desc 문제 해설 1. 주요 포인트 1 - 조건에 대하여 where절과 having절의 차이 wh..
지난번 beautifulsoap 라이브러리를 활용해 당근마켓 인기매물 리스트를 정적 크롤링해보았다. 오늘은 워크넷 구인구직 플랫폼에서 검색어와 클릭에 따라 원하는 정보를 크롤링하는 동적 크롤링을 학습했다. 정적 크롤링과 동적 크롤링의 개념 및 차이에 대해서는 지난 포스팅을 참고하면 된다. [Python] beautifulsoap으로 당근마켓 정적 크롤링하기당근마켓은 모바일에 최적화된 서비스 구조이기 때문에 웹크롤링을 통해서는 한정적인 정보만을 가져올 수 밖에 없다. 하지만 나의 동네 인기 매물을 검색했을 때 인기 게시글들의 '제목', '주zzarimongddang.tistory.com워크넷 구인구직 사이트에서 중장년층과 상용직 필터만 클릭했을 때, 뜨는 구인구직 게시글들의 제목, 기..
문제1. 쇼핑몰의 일일 매출액 출처 : solvesql 연습문제 문제 정보 : 난이도 2 / 정답률 55.27% https://solvesql.com/problems/olist-daily-revenue/ 정답 쿼리 select strftime('%Y-%m-%d', order_purchase_timestamp) as dt, round(sum(payment_value),2) as revenue_daily from olist_orders_dataset a join olist_order_payments_dataset b on a.order_id = b.order_id where dt >= '2018-01-01' group by dt order by dt 문제 해설 1. 주요 포인트 1 - select 절 sel..
당근마켓은 모바일에 최적화된 서비스 구조이기 때문에 웹크롤링을 통해서는 한정적인 정보만을 가져올 수 밖에 없다. 하지만 나의 동네 인기 매물을 검색했을 때 인기 게시글들의 '제목', '주소', '가격', '게시글 내용' 정보만 가져오면 되기 때문에 웹으로도 충분히 크롤링을 진행할 수 있었다. 크롤링은 크게 두 가지 유형으로 분리되는데, 정적 크롤링이란 멈춰있는 페이지의 HTML을 requests 혹은 urllib 패키지를 이용해 가져와서 beautifulsoap 패키지로 파싱(=복잡한 HTML 문서를 잘 분류, 정리하여 다루기 쉽게 바꾸는 작업) 하여 원하는 정보를 수집하는 과정이다. 동적 크롤링이란 계속 움직이는 페이지를 다루기 위해 selenium 패키지로 chromdriver를 제어하는 크롤링 과정..
문제1. 레스토랑의 대목 출처 : solvesql 데이터리안 sql 캠프 실전반 문제 정보 : 난이도 2 / 정답률 61.07% https://solvesql.com/problems/high-season-of-restaurant/ 정답 쿼리 select * from tips where day in (select day from tips group by day having sum(total_bill)>1500) 문제 해설 1. 주요 포인트 1 - where절 서브쿼리 where day in (select day from tips group by day having sum(total_bill)>1500) insert절의 스칼라 서브쿼리, from절의 인라인뷰, where절의 일반 서브쿼리로 분류되는 서브쿼리..
그리디 알고리즘은 현재 시점에서 지금 당장 좋은 것만 고르는 방법으로 '탐욕법'이라고 부르기도 한다. 그리디 알고리즘은 다음과 같은 특징을 지니고 있다. - 일반적인 상황에서 최적의 해를 보장할 수 없다. - 코딩테스트에서 대부분의 그리디 문제는 그리디 알고리즘으로 얻은 해가 최적의 해가 되는 상황에서 이를 추론할 수 있어야 풀리도록 출제된다. 코딩테스트에서는, - 사전에 외우고 있지 않아도 풀 수 있는 가능성이 높다. - 정렬 라이브러리의 사용법이 필요하다. - 일반적으로는 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력만을 요구한다. - 정당성 분석이 중요하다. 탐욕법으로 문제를 풀어도 최적의 해를 구할 수 있는가? 그리디 알고리즘으로 분류되는 코딩테스트 문제를 백준 알고리즘 사이트에서 풀..