728x90
데일리루틴 SQL
MySQL 5월 식품들의 총매출 조회하기 정답입니다.
SELECT P.PRODUCT_ID, P.PRODUCT_NAME, SUM(O.AMOUNT*P.PRICE) TOTAL_SALES
FROM FOOD_PRODUCT P
JOIN FOOD_ORDER O ON P.PRODUCT_ID = O.PRODUCT_ID
WHERE DATE_FORMAT(O.PRODUCE_DATE, '%Y-%m') = '2022-05'
GROUP BY P.PRODUCT_ID
ORDER BY TOTAL_SALES DESC, P.PRODUCT_ID
- SELECT P.PRODUCT_ID, P.PRODUCT_NAME, SUM(O.AMOUNT * P.PRICE) AS TOTAL_SALES
- PRODUCT_ID, PRODUCT_NAME, 그리고 주문 수량과 가격의 곱을 합산한 총매출(TOTAL_SALES)을 출력합니다.
- FROM FOOD_PRODUCT P
- FOOD_PRODUCT 테이블에서 데이터를 가져옵니다. 별칭으로 P를 지정합니다.
- JOIN FOOD_ORDER O ON P.PRODUCT_ID = O.PRODUCT_ID
- FOOD_PRODUCT와 FOOD_ORDER 테이블을 PRODUCT_ID를 기준으로 결합합니다.
- WHERE DATE_FORMAT(O.PRODUCE_DATE, '%Y-%m') = '2022-05'
- FOOD_ORDER의 생산일자가 2022-05인 데이터만 선택합니다.
- GROUP BY P.PRODUCT_ID, P.PRODUCT_NAME
- PRODUCT_ID와 PRODUCT_NAME별로 데이터를 그룹화합니다.
- ORDER BY TOTAL_SALES DESC, P.PRODUCT_ID ASC
- 총매출(TOTAL_SALES) 기준으로 내림차순 정렬하고, 총매출이 같으면 PRODUCT_ID 기준으로 오름차순 정렬합니다.
데일리루틴 알고리즘
Java 가장 가까운 같은 글자 정답입니다.
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()]; // 결과 배열
for (int i = 0; i < s.length(); i++) {
char currentChar = s.charAt(i); // 현재 문자
int closestDistance = -1; // 초기값 -1
// i 이전의 모든 위치 탐색
for (int j = i - 1; j >= 0; j--) {
if (s.charAt(j) == currentChar) {
closestDistance = i - j; // 현재 위치와의 거리
break; // 가장 가까운 거리만 찾으면 종료
}
}
answer[i] = closestDistance; // 결과 저장
}
return answer;
}
}
- public int[] solution(String s) : 메서드 정의입니다. 문자열 s를 입력받아, 정수 배열을 반환하는 메서드입니다.
- int[] answer = new int[s.length()]; : 결과 배열을 선언하고, 문자열의 길이만큼의 크기를 갖도록 초기화합니다.
- for (int i = 0; i < s.length(); i++) { : 문자열의 각 문자를 순회하는 반복문을 시작합니다.
- char currentChar = s.charAt(i); : 현재 문자를 가져옵니다.
- int closestDistance = -1; : 현재 문자의 가장 가까운 동일 문자의 거리를 저장할 변수를 -1로 초기화합니다.
- for (int j = i - 1; j >= 0; j--) { : 현재 문자 이전의 모든 문자를 탐색하는 반복문입니다.
- if (s.charAt(j) == currentChar) { : 이전 문자 중 현재 문자와 동일한 문자를 찾았는지 확인합니다.
- closestDistance = i - j; : 동일한 문자가 있다면, 그 문자와 현재 문자 간의 거리를 계산합니다.
- break; : 가장 가까운 동일한 문자를 찾으면 탐색을 중지합니다.
- answer[i] = closestDistance; : 찾은 거리를 결과 배열에 저장합니다.
- } : 외부 반복문 종료.
- return answer; : 최종 결과 배열을 반환합니다.
728x90
반응형
LIST
'Sparta > 데일리루틴' 카테고리의 다른 글
TIL(Today I Learned)_데일리루틴_24.11.27.Wed (0) | 2024.11.27 |
---|---|
TIL(Today I Learned)_데일리루틴_24.11.26.Thu (0) | 2024.11.26 |
TIL(Today I Learned)_데일리루틴_24.11.24.Sun (0) | 2024.11.24 |
TIL(Today I Learned)_데일리루틴_24.11.23.Sat (0) | 2024.11.23 |
TIL(Today I Learned)_데일리루틴_24.11.22.Fri (0) | 2024.11.22 |