TIL (Today I Learn)

TIL [내배캠] 10일차

dataguard 2025. 2. 28. 20:56
기초 팀 분석 과제 발표 및 KPT 정리

 

 

기초 팀 분석 과제의 마지막 날로, 분석 과제 발표가 있었다.
화면 공유 이슈가 있었지만, 발표 자체에는 크게 문제가 없었던 듯 하다.
다음으로 튜터님의 피드백이다.

 

  • 서정욱 튜터님의 피드백
    • PPT 분석하기에 앞서, EDA에 대한 설명이 있어, 이해하기 편했다.
    • PPT 발표 목적과 프로젝트의 취지가 뭔지 정확하게 파악한 느낌을 받았다.
    • 이커머스 산업에 대한 소개와 전환율의 중요성을 짚어준 것도 좋았다.
    • 도출된 표를 노출시켜서 얻은 데이터를 직접적으로 보여줬다.
    • 직접 시도하진 않았지만, 뻗어나갈 수 있는 가능성들을 체크한 부분도 좋았다.
    • 다음에 프로젝트를 진행할 때, 이 가능성들을 직접 도출해보길 바란다.
    • 마지막에 문제들을 해결할만한 아이디어들을 제시한 것도 좋았다.

    • 실무에서 발표할 때는 코드는 생략하는 편이니, 굳이 넣지 않아도 된다.

 

 

 

 

KPT

Keep (유지할 것) 잘된 점, 긍정적인 요소앞으로도 지속해야 할 팀의 강점이나 효과적인 방식

Problem (문제점) 개선이 필요한 점, 아쉬웠던 부분팀의 비효율적인 과정, 예상보다 어려웠던 점

Try (시도할 것) 앞으로 개선하거나 새롭게 시도할 방법
      Problem에서 도출된 문제를 해결하기 위한 구체적인 액션 플랜

 

  • Keep
    • 전체적인 의사결정이 빠른 시간안에 나와서, 남은 시간을 개인 공부에 활용할 수 있었다.

    • 목표 설정을 뚜렷하게 하고 역할 분담이 잘 되었다.

    • 팀원들과 중간 쿼리 결과를 공유하고, 쿼리를 개선 시키는 과정이 원활하게 이루어졌다.

  • Problem
    • 팀 발제 중 개인별 과제 준비 시작 단계에서 시도할 부분들을 명확히 정하지 않아,
      개인공부 혹은 스터디 시간을 놓치는 점이 있었다.

    • 원활한 소통이 이루어 지지 않아, 역할 수행에 어려움을 느낀 부분이 있었고,
      적극적인 의사표현이 부족하여, 다수의 의견이 취합되지는 못했다.

    • 가설 설정과 시각화 단계에 시간을 집중하지 못해 아쉬웠다.

    • 팀 과제 발표시 오류가 발생하였다.

  • Try
    • 주제 발제시, 팀원 모두 주제를 훑어보고, 각자 시도해 볼 범위를 대략적으로 정했으면 좋겠다.

    • 과제 방향에 대한 구체적인 소통을 중요시하고, 소통의 양을 늘려가야겠다.

    • 일정시간을 아이스브레이킹에 할애해서, 
      조금 더 편안한 토의 분위기를 조성하여 자유로운 의견교환의 장을 만들자.

    • 초반 플랜을 명확하게 짜서, 분석 방향과 시각화요소들을 고려해야겠다.

    • 팀 과제 발표 전에 팀원들끼리 먼저 테스트를 진행한다.

 

 

 

 

 


 

 

 

 

 

74. SQL 코드카타 풀이

https://school.programmers.co.kr/learn/courses/30/lessons/157339

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

  • 문제
    •  CAR_RENTAL_COMPANY_CAR  테이블과  CAR_RENTAL_COMPANY_RENTAL_HISTORY  테이블과  CAR_RENTAL_COMPANY_DISCOUNT_PLAN  테이블에서 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간의 대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 정렬, 자동차 종류까지 같은 경우 자동차 ID를 기준으로 내림차순 정렬해주세요.
  • 정답
SELECT final.car_id,
       final.car_type,
       ROUND(final.fee, 0) fee
FROM
(
    SELECT ch.car_id,
           ch.car_type,
           CASE WHEN ch.car_type = p.car_type 
                     THEN ch.daily_fee * 30 * (1-(p.discount_rate/100))
                     ELSE 0 END AS fee
    FROM 
         (
          SELECT car_type,
                 duration_type,
                 discount_rate
          FROM car_rental_company_discount_plan
          WHERE duration_type = '30일 이상'
         ) p
    INNER JOIN 
        (
        SELECT DISTINCT(c.car_id),
               c.car_type,
               c.daily_fee
        FROM car_rental_company_rental_history h
             LEFT JOIN
             car_rental_company_car c 
             ON h.car_id = c.car_id
        WHERE h.car_id NOT IN
              (
               SELECT car_id
               FROM car_rental_company_rental_history
               WHERE (start_date <= '2022-11-30' AND end_date >= '2022-11-01')
              )
              AND c.car_type IN ('세단','SUV')
        ) ch
    ON p.car_type = ch.car_type
) final
WHERE final.fee BETWEEN 500000 AND 1999999
ORDER BY 3 DESC, 2, 1 DESC;
  • 고전했던 부분
    • 대여 가능한 차들을 분류해내는 것부터 어려움이 있었다.
      부등호를 이용해서 11월에 대여 중이 아닌 자동차를 선택하려고 애쓰다가 실패하고,
      11월에 대여중인 차를 제외시키는 방향으로 방법을 바꿨다.
    • 3개의 테이블을 조인하다보니 서브쿼리를 너무 많이 쓰게 되어서 이게 맞는 방향인가 싶었는데,
      가독성만 높여서 쓴다면 오히려 더 잘 읽힐 수도 있겠다는 생각을 했다.
    • 할인율을 적용한 이용금액을 설정할 때, 숫자 뒤에 퍼센트도 포함되어있다고 생각하는 오차를 범했다.
      백분율을 적용하고 난 뒤 정답에 성공했다.
    • 정리하니깐 별거 아닌 것 같지만, 어제 풀지 못한 쿼리를 오늘 다시시도 해서 풀었다.
      앞으로의 쿼리는 미리 가이드라인을 그려놓고 구상하도록 하자.

 

'TIL (Today I Learn)' 카테고리의 다른 글

TIL [내배캠] 11일차  (0) 2025.03.04
WIL [내배캠] 2주차  (0) 2025.03.03
TIL [내배캠] 9일차  (0) 2025.02.27
TIL [내배캠] 8일차  (0) 2025.02.26
TIL [내배캠] 7일차  (0) 2025.02.25