일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 감사인사
- 채용공고
- 알파줄거리
- 니다
- Python
- 데이터문해력
- 독서
- 코딩
- 미라클 모닝
- 영화 올드 줄거리
- 수명예측 인공지능
- ㅂㅂ
- 벚꽃개화시기
- 티스토리
- 벚꽃
- 구글애널리틱스4
- 기사스크랩
- 코오롱베네트
- 프로그래머스
- 얼음여왕
- 6시 기상
- GA
- 구글애널리틱스
- GA4
- 데이터 분석
- Google Analytics
- 명상
- Today
- Total
목록데이터 분석/Coding Test (106)
Data Analyst KIM
LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이 문제는 DENSE_RANK를 사용하면 되는 간단한 문제였음 + AS 이후 'Rank'처럼 따옴표를 사용해주는 것이 포인트 SELECT Score , DENSE_RANK() OVER (ORDER BY Score DESC) AS 'Rank' FROM Scores
빅데이터 양성과정을 마치고 코딩 동아리원들과 풀었던 문제에 대해 이야기를 했다. 최근에 프로그래머스 SQL 문제를 모두 풀어서 Leetcode에서 문제를 선정하여 일주일에 3개씩 풀고 있다. Leetcode의 장점은 제출 결과의 실행시간을 알려줘서 코드의 효율을 알 수 있었다. WITH절과 SELECT 서브쿼리를 비교해봤을 때 가독성은 SELECT 서브쿼리가 훨씬 좋지만 코드의 효율성은 WITH을 사용한 것이 가장 빨랐다. WITH를 이용하여 가상을 테이블을 생성 후 코드를 작성하면 효율이 좋다는 것을 알게 되어 앞으로는 WITH를 자주 사용할 것이다. 밑에서의 나의 코드의 실행시간을 살펴보면 상위 5%인 것을 확인할 수 있다. 함께 고민하며 코딩 실력과 지식을 개선해 나가는 것이 너무 재미있다.
1. 문제 설명 2. 문제 3. 예시 3. 내 코드 - SUM(Weight) OVER(ORDER BY Turn)을 통해서 누적 합 계산 - 조건절과 LIMIT를 이용하여 1개의 값을 출력 WITH t AS ( SELECT Turn , person_id , person_name , Weight , SUM(Weight) OVER(ORDER BY Turn) AS total FROM Queue ORDER BY Turn desc ) SELECT person_name FROM t WHERE total
문제 풀이 1. 부모 노드가 없는 경우 => Root 2. 부모노드가 있고, 자신이 부모노드인 경우 => Inner 3. 나머지 => Leaf SELECT id , (CASE WHEN p_id IS NULL THEN 'Root' WHEN id IN (SELECT p_id FROM Tree) THEN 'Inner' ELSE 'Leaf' END) AS 'type' FROM Tree ORDER BY id
설명 문제 예시 Buy이면 -price , Sell이면 price를 집계 SELECT stock_name , SUM(CASE WHEN operation = 'Buy' THEN -price ELSE price END) AS capital_gain_loss FROM Stocks GROUP BY stock_name
WITH tab AS ( SELECT car.daily_fee , car.car_type , his.history_id , DATEDIFF(END_DATE, START_DATE) + 1 AS period , CASE WHEN DATEDIFF(END_DATE, START_DATE) + 1 >= 90 THEN '90일 이상' WHEN DATEDIFF(END_DATE, START_DATE) + 1 >= 30 THEN '30일 이상' WHEN DATEDIFF(END_DATE, START_DATE) + 1 >= 7 THEN '7일 이상' ELSE 'NONE' END AS duration_type FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY AS his INNER JOIN CAR_RENTA..