- 자동차 대여 기록에서 장기/단기 대여 구분하기
SELECT HISTORY_ID, CAR_ID, START_DATE, END_DATE DATE(END_DATE-START_DATE) AS RENT_TYPE WHERE END_DATE-START_DATE > 30 ORDER BY HISTORY_ID DESC
SELECT HISTORY_ID, CAR_ID, START_DATE,END_DATE, CASE WHEN DATEDIFF(END_DATE, START_DATE) +1 >=30 THEN '장기 대여' ELSE '단기 대여' END AS RENT_TYPE FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE START_DATE LIKE '2022-09%' ORDER BY HISTORY_ID DESC
- 타겟 넘버
class Solution {
public int solution(int[] numbers, int target) {
return dfs(numbers, target, 0, 0);
}
private int dfs(int[] numbers, int target, int index, int sum) {
if(index == numbers.length) {
return sum == target ? 1 : 0;
}
int add = dfs(numbers, target, index+1, sum + numbers[index]);
int subtract = dfs(numbers, target, index +1, sum - numbers[index]);
return add + subtract;
}
}
- 행렬의 덧셈
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int row = arr1.length;
int col = arr1[0].length;
int[][] answer = new int[row][col];
for(int i =0;i < row;i++) {
for(int j=0;j< col;j++) {
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
return answer;
}
}