전체 글 513

[solvesql_Level2] 우리 플랫폼에 정착한 판매자 2

https://solvesql.com/problems/settled-sellers-2/ https://solvesql.com/problems/settled-sellers-2/ solvesql.com [코드] select seller_id, count(distinct order_id) as orders from olist_order_items_dataset where price >= 50 group by seller_id having orders >= 100 order by orders DESC; [고찰] 이번 문제는 주문이 100건 이상인 컬럼들을 출력해야 하므로 집계함수 COUNT에 조건을 달아주기 위해 seller_id로 그룹을 묶어주고 having 절에 orders >= 100 조건을 주어 해결할 ..

SQL 문제 2023.10.13

[프로그래머스_Level2] 뒤에 있는 큰 수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] 정수로 이루어진 배열 numbers가 있습니다. 배열 의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수를 뒷 큰수라고 합니다. 정수 배열 numbers가 매개변수로 주어질 때, 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 return 하도록 solution 함수를 완성해주세요. 단, 뒷 큰수가 존재하지 않는 원소는 -1을 담습니다. [제한사..

프로그래머스 2023.10.11

[프로그래머스_Level2] 게임 맵 최단거리

https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다. 위..

프로그래머스 2023.10.11

[solvesql_Level2] 일별 블로그 방문자 수 집계

https://solvesql.com/problems/blog-counter/ https://solvesql.com/problems/blog-counter/ solvesql.com [코드] select event_date_kst as dt, count(DISTINCT user_pseudo_id) as users from ga where dt BETWEEN '2021-08-02' and '2021-08-09' group by dt order by dt [고찰] 이번 문제는 날짜별 방문자의 수를 구하는 문제였다. 이때 해당 일자 내 로그 테이블에 이벤트가 하나라도 기록 된 경우 방문자로 집계하기 때문에 중복된 사람이 있을 수 있다. 따라서 count를 해줄 때 중복을 제거해주어야 한다.

SQL 문제 2023.10.11

[solvesql_Level2] 레스토랑 웨이터의 팁 분석

https://solvesql.com/problems/tip-analysis/ https://solvesql.com/problems/tip-analysis/ solvesql.com [코드] Select day, time, round(avg(tip),2) as avg_tip, round(avg(size),2) as avg_size from tips group by day, time order by day, time; [고찰] '각 요일의 시간대별~'로 평균 팁과 일행을 구해야 하므로 요일인 day 속성과 시간대인 time 속성을로 GROUP BY 해주면 된다. 또한 소수점 셋째 자리에서 반올림 하기 위해 ROUND 함수를 사용해야 한다.

SQL 문제 2023.10.11

[프로그래머스 SQL] 가격이 제일 비싼 식품의 정보 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/131115 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] 다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블입니다. FOOD_PRODUCT 테이블은 다음과 같으며 PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE는 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 의미합니다. Column name Type Nullable PRODUCT_ID VARCHAR(10) FALSE PROD..

SQL 문제 2023.10.11

[프로그래머스_Level2] 더 맵게

https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스..

프로그래머스 2023.10.10