본문 바로가기

전체 글 보기28

[프로그래머스 Lv1] 오답노트 ※ 파이썬 문법 관련 내용은 '이것이 코딩테스트다' 교재를 참고하여 정리하였음.1. 리스트 컴프리헨션리스트 컴프리헨션은 리스트를 초기화하는 방법 중 하나. 대괄호 안에 조건문+반복문을 넣어 리스트를 초기화한다.# 약수 합 문제def solution(n): li = [] # n의 약수들 for i in range(1, n+1): if n % i == 0: li.append(i) return sum(li) # 리스트 컴프리헨션 이용def solution(n): return sum([i for i in range(1, n+1) if n % i == 0])  다른 예제# 1부터 9까지 수의 제곱값을 포함하는 리스트array = [i.. 2025. 2. 27.
[HackerRank] The Blunder - 올림/내림/반올림 함수, 타입 변환, REPLACE 함수 문제 링크 : https://www.hackerrank.com/challenges/the-blunder/problem 문제 설명- 사만다는 모든 직원들에 대해 월 평균 급여를 구하려고 한다. 그러나 그녀는 계산을 마칠때까지 키보드 숫자 0이 고장난 상태인 것을 인지하지 못했다.- 따라서 나의 도움을 받아, 계산착오가 있었던 부분과 실제값 사이의 차이를 찾으려고 한다.- 구하는 것 : (실제 평균값, actual) - (잘못 계산 된 평균값, miscalculated)- 그리고 그 값을 올림하여 다음 정수값으로 나타내라. 솔루션SELECT CEIL(AVG(Salary) - AVG(e)) AS resultFROM ( SELECT * ,CAST(REPLACE(CAST(Salary AS C.. 2025. 2. 9.
[LeetCode] 1193. Monthly Transactions 1 - '연/월/일'에서 '연/월'만 추출하기 문제링크 : https://leetcode.com/problems/monthly-transactions-i 문제설명- 월&국가별로 1. 총 거래 건 수2. 총 거래 금액 합계3. 승인된 거래 건 수4. 승인된 거래 금액 합계를 구한다.- 순서 상관X 솔루션SELECT DATE_FORMAT(trans_date, '%Y-%m') AS month ,country ,COUNT(*) AS trans_count ,COUNT(CASE WHEN state = 'approved' THEN id END) AS approved_count ,SUM(amount) AS trans_total_amount ,SUM(CASE WHEN state = 'approved' THEN amount.. 2025. 2. 5.
[LeetCode] 1174. Immediate Food Delivery - AVG안에 조건식 넣기 문제 링크 : https://leetcode.com/problems/immediate-food-delivery-ii 문제 설명- 만약 customer_pref_delivery_date = order_date 라면 'immediate'라고 한다. 다를 경우 'scheduled'- first_order(첫주문)은 고객의 주문 내역 중, 가장 빠른 날짜에 주문한 것을 기준으로 한다.- 전체 고객의 첫 주문 중에서, immediate인 주문 비율을 구하고, 반올림하여 소수점 2번째 자리까지 표현. 솔루션WITH First_order AS ( SELECT customer_id, MIN(order_date) AS first_order FROM Delivery GROUP BY customer_id)S.. 2025. 2. 3.
[LeetCode] 1321. Restaurant Growth - 이동평균, 윈도우함수 문제 링크 https://leetcode.com/problems/restaurant-growth  문제 설명- 매일 최소 1명의 고객은 방문한다고 가정한다.- 이동평균(moving average) 계산 : 일주일 내에 고객이 지불한 금액에 대한 이동평균.   * 기준 : 현재 날짜 + 6일 - 이동평균을 계산한 값을 average_amount라는 컬럼명으로 하고, 반올림하여 소수점 2번째 자리까지 표시.- visited_on을 기준으로 ASC 솔루션WITH Total_amt AS ( SELECT visited_on ,SUM(amount) AS amt FROM Customer GROUP BY visited_on), Cumul_sum AS ( SELECT visited_o.. 2025. 1. 26.
[LeetCode] 1158. Market Analysis 1 - IFNULL() : 특정 컬럼값이 null일 때 0으로 표시하기 문제 링크 : https://leetcode.com/problems/market-analysis-i 문제설명- Users, Orders, Items 3개의 테이블이 있다. (이커머스 업계에서 볼 수 있는 전형적인 테이블 관계.)- 이때 user는 buyer가 될 수도 있고 seller가 될 수도 있다.- [user, join date, 주문 수]를 추출하는데, user가 buyer로써 2019년에 주문한 건에 대해서 추출한다.  솔루션맨 처음에 풀었던 코드.SELECT u.user_id AS buyer_id ,u.join_date AS join_date ,CASE WHEN oc.order_cnt IS NULL THEN 0 ELSE oc.order_cnt END AS orders_in_2.. 2025. 1. 21.