728x90
데일리루틴 SQL
MySQL 식품분류별 가장 비싼 식품의 정보 조회하기 정답입니다.
SELECT CATEGORY, PRICE MAX_PRICE, PRODUCT_NAME
FROM FOOD_PRODUCT
WHERE (CATEGORY, PRICE) IN (
SELECT CATEGORY, MAX(PRICE)
FROM FOOD_PRODUCT
WHERE CATEGORY IN ('과자', '국', '김치', '식용유')
GROUP BY CATEGORY)
ORDER BY PRICE DESC
- SELECT CATEGORY, PRICE MAX_PRICE, PRODUCT_NAME
- CATEGORY, PRICE (별칭은 MAX_PRICE), 그리고 PRODUCT_NAME 컬럼을 조회합니다. 즉, 카테고리, 최고 가격, 제품명을 출력합니다.
- FROM FOOD_PRODUCT
- 데이터를 가져올 테이블은 FOOD_PRODUCT입니다.
- WHERE (CATEGORY, PRICE) IN (
- CATEGORY와 PRICE가 뒤에 나오는 서브 쿼리의 결과와 일치하는 데이터를 필터링합니다.
- SELECT CATEGORY, MAX(PRICE) FROM FOOD_PRODUCT WHERE CATEGORY IN ('과자', '국', '김치', '식용유') GROUP BY CATEGORY)
- FOOD_PRODUCT 테이블에서 지정된 카테고리('과자', '국', '김치', '식용유')에 대해 각 카테고리의 최고 가격을 찾습니다. 이 결과가 메인 쿼리의 필터링 조건에 사용됩니다.
- ORDER BY PRICE DESC
- 결과를 PRICE의 내림차순으로 정렬하여 출력합니다.
데일리루틴 알고리즘
Java 두 개 뽑아서 더하기 정답입니다.
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
// 두 숫자의 합을 저장할 배열 크기 계산
int[] temp = new int[numbers.length * (numbers.length - 1) / 2];
int idx = 0;
// 두 수의 합 계산
for (int i = 0; i < numbers.length; i++) {
for (int j = i + 1; j < numbers.length; j++) {
temp[idx++] = numbers[i] + numbers[j];
}
}
// 중복 제거 및 정렬
int[] result = Arrays.stream(temp).distinct().sorted().toArray();
return result;
}
}
728x90
반응형
LIST
'Sparta > 데일리루틴' 카테고리의 다른 글
TIL(Today I Learned)_데일리루틴_24.11.26.Thu (0) | 2024.11.26 |
---|---|
TIL(Today I Learned)_데일리루틴_24.11.25.Mon (0) | 2024.11.25 |
TIL(Today I Learned)_데일리루틴_24.11.23.Sat (0) | 2024.11.23 |
TIL(Today I Learned)_데일리루틴_24.11.22.Fri (0) | 2024.11.22 |
TIL(Today I Learned)_데일리루틴_24.11.21.Thr (0) | 2024.11.21 |