public class Solution {
// 1, 2, 3 더하기 - DP 9095번
// n을 1, 2, 3의 합으로 나타내는 방법의 수
static int n = 4;
static int[] dp = new int[101];
// 1+1+1+1
// 1+1+2
// 1+2+1
// 2+1+1
// 2+2
// 1+3
// 3+1
public static void main(String[] args) {
// TODO Auto-generated method stub
// n은 1일 때 1
// 2일 때 1+1, 2
// 3일 때 1+1+1, 1+2, 2+1, 3
// 4는 1+3/2+2/3+1로 나타낼 수 있음
// 1+(1+1+1)/2+(1+1)/3+(1)
// 1+(1+2)/2+(2)
// 1+(2+1)
// 1+(3)
// 따라서 f(3)+f(2)+f(1)로 나타낼 수 있는 것이다.
dp[1] = 1;
dp[2] = 2;
dp[3] = 4;
for (int i = 4; i <= 100; i++) {
dp[i] = dp[i-1] + dp[i-2] + dp[i-3];
}
System.out.println(dp[n]);
}
}
SELECT MST.YEAR
, MST.MONTH
, MST.GENDER
, COUNT(MST.GENDER) AS USERS
FROM (
SELECT YEAR(A.SALES_DATE) AS YEAR
, MONTH(A.SALES_DATE) AS MONTH
, B.GENDER
FROM ONLINE_SALE A
, USER_INFO B
WHERE A.USER_ID = B.USER_ID
AND B.GENDER IN (0, 1)
GROUP BY YEAR(A.SALES_DATE), MONTH(A.SALES_DATE), B.USER_ID
) MST
GROUP BY MST.YEAR, MST.MONTH, MST.GENDER
ORDER BY MST.YEAR, MST.MONTH, MST.GENDER
<Oracle>
SELECT MST.YEAR
, MST.MONTH
, MST.GENDER
, COUNT(MST.GENDER) AS USERS
FROM (
SELECT EXTRACT(YEAR FROM A.SALES_DATE) AS YEAR
, EXTRACT(MONTH FROM A.SALES_DATE) AS MONTH
, B.GENDER
FROM ONLINE_SALE A
, USER_INFO B
WHERE A.USER_ID = B.USER_ID
AND B.GENDER IN (0, 1)
GROUP BY EXTRACT(YEAR FROM A.SALES_DATE), EXTRACT(MONTH FROM A.SALES_DATE), B.USER_ID, B.GENDER
) MST
GROUP BY MST.YEAR, MST.MONTH, MST.GENDER
ORDER BY MST.YEAR, MST.MONTH, MST.GENDER
MySQL에서 MONTH(날짜), DATE_FORMAT(날짜, '%c') 차이
Oracle에서 EXTRACT(MONTH FROM 날짜), TO_CHAR(날짜, 'FMMM') 차이
SELECT A.PRODUCT_ID
, B.PRODUCT_NAME
, SUM(A.AMOUNT) * B.PRICE AS TOTAL_SALES
FROM FOOD_ORDER A
, FOOD_PRODUCT B
WHERE A.PRODUCT_ID = B.PRODUCT_ID
AND DATE_FORMAT(A.PRODUCE_DATE, '%Y-%m') = '2022-05'
GROUP BY A.PRODUCT_ID
ORDER BY SUM(A.AMOUNT) * B.PRICE DESC, A.PRODUCT_ID
<Oracle>
SELECT A.PRODUCT_ID
, A.PRODUCT_NAME
, A.PRICE * B.AMOUNT_SUM AS TOTAL_SALES
FROM FOOD_PRODUCT A
, (
SELECT PRODUCT_ID, SUM(AMOUNT) AS AMOUNT_SUM
FROM FOOD_ORDER
WHERE TO_CHAR(PRODUCE_DATE, 'YYYY-MM') = '2022-05'
GROUP BY PRODUCT_ID
) B
WHERE A.PRODUCT_ID = B.PRODUCT_ID
ORDER BY A.PRICE * B.AMOUNT_SUM DESC, A.PRODUCT_ID