내일배움캠프

데이터 분석 트랙 19일차 (25.03.14.) TIL

jjaio8986 2025. 3. 14. 20:22

[목차]

  • QCC 2회차 회고 및 인사이트

  • QCC 2회차 회고 및 인사이트

1. 회고 

- 문제는 총 3개, 난이도는 기본 강좌를 다 수강한 뒤 코드카타를 40회 이상 진행했을 경우 시간내에 풀 수 있었을 문제라고 생각된다.

- 우선 문제를 3개 다 풀었으나 마지막 문제는 시간초과로 적지 못했다.

- 부족한 요인을 생각해 보았을 때 다음의 요인이 나온다

  " 쿼리문 > WHERE절과 관련된 활용경험의 부족"

  "Window Function과 관련된 개념 및 활용경험의 부족"

  "문제 풀이 경험부족에서 발생하는 접근법, 문제상황분석 및 이해의 미숙함"

- 즉, 개념 완성의 필요성 및 문제풀이 경험을 증가시켜야한다.

2. 인사이트

 -  파이썬 알고리즘 코드카타를 진행해야 하기에 sql 개념 복습에 많은 시간을 투자하기는 힘들다. 그렇기에 다음의 방향으로 문제풀이에 접근한다.

 a. SQL : "N레벨 sql문제를 풀다가 N분 이상 막히는 경우" > 관련 개념 서칭 후 문제풀이 진행, 문제를 따로 기록한 뒤  당일 til에 관련 개념을 적고 문제풀이를 같이 적는다.

                " Window Function" > 기능이 다양하기 때문에 [1순위 기본형태, 2순위 자주 사용하는 기능의 형태 및 의미 확인,

                                                   3순위 문제별 풀이 및 인사이트 확인]으로 개념을 잡는다. 

 b. 파이썬 : 알고리즘 코드카타의 진행을 아직 해보지 못했기 때문에 개념을 복습한다는 측면으로 접근하기 특히 조건문, 반복문,

                  리스트, 딕셔너리와 관련된 기본 개념과 활용은 당일 til에 적어 기억하는 방향으로 접근한다. 

                 "라이브 세션" > 강의 내용을 내 방식으로 정리 및 개념잡기를 시행하며 강의 중 인사이트를 놓치지 않는 방향으로 접근

                                         특히 데이터 분석과 관련한 전처리와 통계, 시각화 부분은 세세하게 확인하여 차후 학습을 위해

                                         별도로 인사이트를 모아두기.

 

cf) window_function

   ex. "rank()"

    - 기본 형태 : “rank() over(partition by 컬럼1 order by 컬럼2 desc)”

                        # 전체 테이블의 데이터를 컬럼1별로 랭크를 붙인다.

                           이때, 랭크를 붙이는 순서는 컬럼2의 수치대로 내림차순으로 붙이겠다.

    - 특이사항 : 중복 값에도 같은 순위를 부여[이와 관련한 문제가 발생시 "row()"함수를 활용], partition은 생략 가능

중요! where절에는 where절에 따로 서브쿼리로 window함수의 값을 구한 뒤 그것을 불러오는 것이 아닌 이상 window함수는 사용할 수 없다! window함수select절에 사용된다! 따로 값을 저장해두지 않는 이상[(인라인 뷰, 중첩) 서브쿼리, with함수] select절에서 사용한다고 기억하기!