스파르타/TIL(Today I Learned)
-
12/13스파르타/TIL(Today I Learned) 2023. 12. 13. 14:45
1174. Immediate Food Delivery II If the customer's preferred delivery date is the same as the order date, then the order is called immediate; otherwise, it is called scheduled. The first order of a customer is the order with the earliest order date that the customer made. It is guaranteed that a customer has precisely one first order. Write a solution to find the percentage of immediate orders i..
-
12/11스파르타/TIL(Today I Learned) 2023. 12. 11. 15:55
1251. Average Selling Price 이 사이트의 문제를 풀 때 영어로 된 문제이다 보니 해석하고 설명 보면서 코딩을 하는데 설명만 보고서 코딩을 하니 오류가 나왔다. 실수를 돌이켜 보면 1. join 조건에서 product_id만 연결한 것이였다. 실제로 주어진 예시의 테이블을 보면 group by 로 묶어도 같은 product_id임에도 구매날짜에 따라 다르게 계산이 되어야한다. 이것을 고려하지 않고 코딩을 하여 첫번째 문제가 생겼다. join 조건에 u.purchase_date between p.start_date and p.end_date 를 추가하여 해결하였다. 2. 바로 ifnull을 생각치도 못했다. 일단 예시를 보면 생각 할 일이 없었기 때문이다. 하지만 실무를 하다보면 구매를..
-
12/10 WIL스파르타/TIL(Today I Learned) 2023. 12. 10. 18:55
이번 주는 대부분을 문제 푸는데 시간을 썼다. 파이썬 기본 영상 같은 유튜브 영상도 찾아봤다. sql 문제를 풀면서 다양한 문제를 접하고 다양한 풀이법을 마주했다. 한 테이블의 데이터가 enum 타입이라서 2가지 타입이 있는데 한 테이블의 where 절에서는 두 개의 조건을 한 번에 하기 어렵기 때문에 재귀함수처럼 테이블을 한 번 더 불러 조건을 설정하는 문제의 풀이가 인상적이었다. 또한 입양을 대한 문제도 있었고 이 풀이에는 max를 날짜 데이터에 사용하여 가장 최근에 입양을 마친 사람을 구하여문제를 푸는 것이었다. 또한 이번 주 목? 금요일부터는파이썬 문제를 풀 수 있는 엑셀을 지급하여서풀어봤는데 생각보다 어려웠다. 파이썬이랑 SQL이랑 문법이 헷갈리기도 했고 아직 파이썬이 익숙지 않아서 실수가 잦았..
-
12/08스파르타/TIL(Today I Learned) 2023. 12. 8. 15:41
오늘의 문제 풀이 시작 매번 풀번 프로그래머스가 아닌 다른 외국 사이트에서 문제를 풀고 있다 사이트 이름은 leetcode.com 이다 오늘의 문제 1661. Average Time of Process per Machine There is a factory website that has several machines each running the same number of processes. Write a solution to find the average time each machine takes to complete a process 여기 사이트는 예시가 잘 나오고 설명도 잘 써있어서 이해는 잘 된다. 그저 내 코딩이 막히는 뿐... 외국 코딩러들이 한 풀이를 봤는데 사람들은 재귀호출을 야무딱지게 하..
-
12/07스파르타/TIL(Today I Learned) 2023. 12. 7. 02:48
문제 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 a.CAR_ID, a.CA..
-
12/6스파르타/TIL(Today I Learned) 2023. 12. 6. 18:25
오늘도 어김없이 프로그래머스를 푼다. 오늘은 놀랍게도 한 문제에 거의 3시간을 쏟은거 같은데 "아 뭔가 좀만 더 하면 풀 수 있을거 같은데" 라는 생각에 3시간 잡아먹고 못풀었따 ㅎ 문제 : MEMBER_PROFILE와 REST_REVIEW 테이블에서 리뷰를 가장 많이 작성한 회원의 리뷰들을 조회하는 SQL문을 작성해주세요. 회원 이름, 리뷰 텍스트, 리뷰 작성일이 출력되도록 작성해주시고, 결과는 리뷰 작성일을 기준으로 오름차순, 리뷰 작성일이 같다면 리뷰 텍스트를 기준으로 오름차순 정렬해주세요. 이 문제에서 내가 실수한 부분은 문제를 이해 못해서 자꾸 뻘짓을 하였다 ㅠ 예시 답안을 보면 리뷰를 가장 많이 작성한 회원의 리뷰를 조회해야한다. RANK함수에 COUNT를 사용하니 최고로 많이 작성한 사람은 ..
-
12/5스파르타/TIL(Today I Learned) 2023. 12. 5. 16:30
오늘도 어김없이 프로그래머스 문제를 풀다가 막혀 !도움을 하던중 정말 깔끔하게 짠 코드를 보고 이해하며 감탄한 코드가 있어 가져와봤다. 문제 : 데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. cart_products의 테이블이다. 보면 name에 두가지 조건 1. name = 'Milk' 2. name = 'Yogurt' 를 동시에 만족해야 한다 하지만 그냥 코드를 한번에 작성해서 하려면 두 조건을 동시에 만족하기는 어렵다. 그래서 서브쿼리로 조건 한개를 처리한 후 나머지 조건을 처리하는 방법을 소개하..
-
12/4스파르타/TIL(Today I Learned) 2023. 12. 4. 18:36
문제 : 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 SELECT car_id, CASE WHEN COUNT( CASE WHEN end_date >= '2022-10-16' AND start_date 0 THEN '대여중' ELSE '대여 가능' END AS AVAILABILITY FROM car_rental_company_rental_history GROUP BY car_id ORDER BY car_id DESC; 이 부분에서 가장 이해가 안된 부분은 바로 count를 써야 한다는 것이다. 분명 문제에서의 조건을 내 머릿속으로 생각을 해본다면 굳이 count를 사용하지 않아도 될 것이라고 생각했기 때문이다. 물론 나의 머리로 이해하기가 어려워서 질문하기 탭을 봐도 이해가 안되어서 chat ..