문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/273709 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이ITEM_INFO 테이블에서 희귀도가 LEGEND 인 아이템들의 가격의 총합을 구하는 SQL 문을 작성 해야 한다. WHERE 절로 LEGEND 인 데이터를 선택한다.SUM 을 통해 총합을 구한다. SQLSELECT SUM(PRICE) AS TOTAL_PRICE FROM ITEM_INFOWHERE RARITY = 'LEGEND'
문제 출저https://leetcode.com/problems/rising-temperature/?envType=study-plan-v2&envId=top-sql-50 문제 풀이어제랑 비교해서 온도가 더 높은 id를 출력하는 문제입니다. 한 테이블에서 오늘과 어제를 비교해야 하므로 내부 조인을 수행합니다. 저는 오늘 날짜 today, 어제 날짜는 yesterday 라는 이름으로 테이블을 설정했습니다. 조인 조걸은 날짜 차이를 1로 설정하여 오늘과 어제를 비교합니다.where 절을 통해 today의 recordDate가 yesterday의 recordDate 보다 크다는 조건을 넣어 today가 항상 앞서도록 했습니다. SQL# 어제랑 비교해서 온도가 더 높은 id룰 출력해야 합니다. selec..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/59408 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이동물 보호소에 들어온 동물의 이름이 몇 개인지 조회한다. 동물의 이름은 중복이 있을 수 있기 때문에 DISTINCT로 중복을 제거한다.이름이 NULL인 경우가 있으므로 WHERE 절에 NOT NULL을 사용한다. SQLSELECT COUNT(DISTINCT NAME) FROM ANIMAL_INSWHERE NAME IS NOT NULL
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/59406 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이동물 보호소에 둘물이 몇 마리 들어왔는지 조회합니다.COUNT 함수를 사용하여 갯수를 구합니다. SQLSELECT COUNT(*) AS COUNTFROM ANIMAL_INS
문제 출저https://leetcode.com/problems/customer-who-visited-but-did-not-make-any-transactions/?envType=study-plan-v2&envId=top-sql-50 문제 풀이거래 없이 방문한 사용자의 아이디와 방문 횟수를 구해야 합니다.Transactions 테이블에 방문 아이디를 가져옵니다. Visits 테이블에서 가져온 아이디에 일치하는게 없으면 거래 없이 방문한 것 입니다. whrere에 not in 을 사용합니다. customer_id 별로 횟수를 구해야 하므로 group by를 사용합니다. SQL# 거래 없이 방문한 사용자의 아이디와 방문 횟수를 구해야 한다. select customer_id, count..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/59038 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이가장 먼저 들어온 동물은 언제 들어왔는지 구해야 합니다. MIN() 함수에 DATE를 사용하여 구합니다. SQLSELECT MIN(DATETIME)FROM ANIMAL_INS
문제 출저https://www.acmicpc.net/problem/6126 문제 풀이동전의 종류와 금액이 주어집니다. 주어진 동전으로 금액을 만들 경우의 수를 구해야 합니다. dp를 이용해 문제를 풀었습니다. int[] dp = new int[n+1] 로 선언하여 금액 만큼 길이를 만듭니다. for (int j = coin; j 점화식을 세워서 문제를 풀었습니다. 소스 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.security.InvalidKeyException;import java.util.StringTokenizer;/*Cow Cashhttps://..
문제 출저https://leetcode.com/problems/article-views-i/description/?envType=study-plan-v2&envId=top-sql-50 문제 풀이상품 이름, 년도, 가격을 출력해야 합니다.위의 정보들은 두 개의 테이블에 흩어져 있으므로 조인을 통해서 원하는 정보들을 모읍니다. SQL# 상품 이름, 년도, 가격 출력# 상품 이름은 외부 테이블이므로 조인을 통해 가져온다. select p.product_name, s.year, s.price from Sales as sjoin Product as p on s.product_id = p.product_id
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/59415 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 가장 최근에 들어온 동물이 언제 들어왔는지 구해야 합니다.SELECT 절에 MAX를 통해 최근에 들어온 날짜를 구합니다. 날짜는 최근일수록 그 값이 큽니다. SQLSELECT MAX(DATETIME)FROM ANIMAL_INS
문제 출저https://www.acmicpc.net/problem/29160 문제 풀이문제를 요약하면 매년 각 포지션 별로 가장 능력치가 좋은 선수들의 능력치가 1씩 떨어집니다. 능력치는 1이하로는 떨어지지 않습니다. k 년 후에 각 포지션을 모두 더한 총합을 구해야 합니다. 우선순위 큐로 문저를 풀었습니다.1부터 11까지 각 포지션 별로 능력치가 높은 순서로 우선순위 큐를 만들었습니다. 포지션 별로 선수들을 집어넣습니다. k번 각 포지션 별 능력 좋은 사람을 꺼내 1을 감소하고 다시 우선순위 큐에 집어넣습니다. 이러면 손쉽게 가장 능력치가 좋은 사람을 선택할 수 있습니다. k번 반복하고 각 포지션 별로 가장 높은 능력치의 총합을 구했습니다. 소스 코드import java.io.Buffere..
문제 출저https://leetcode.com/problems/replace-employee-id-with-the-unique-identifier/description/?envType=study-plan-v2&envId=top-sql-50 문제 풀이Employees와 EmployUNI 두 개의 테이블이 주어집니다. 유니크 아이디와 이름을 출력하는 솔루션을 만들어야 합니다.두 개의 테이블을 id로 조인하여 Employees 테이블의 id와 EmployUNI 테이블의 unique_id를 가져옵니다. SQL# 고유 ID를 표현select u.unique_id, e.namefrom Employees as e left join EmployeeUNI as u on e.id = u.id
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/131115 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이가격이 제일 비싼 식품의 정보를 출력해야 합니다.WHERE 절로 가장 비싼 가격을 구하는 서브쿼리를 이용하여 비교하여 데이터를 가져옵니다. 다른 방법으로는 ORDER BY를 통해 가격이 비싼 순으로 정렬하고 LIMIT 1을 사용하여 정보를 하나 가져오는 방식이 있습니다. SQLSELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_C..