코테 준비 22일차_9/10

Jieun·2026년 9월 10일

코딩테스트 준비

목록 보기
15/24
  1. 자동차 대여 기록에서 장기/단기 대여 구분하기
  • 초기 정답
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
  1. 타겟 넘버
  • 최종 정답
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;
    }
  
}
  1. 행렬의 덧셈
  • 최종 정답
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;
    }
}
profile
비전공자의 백엔드 생존기: 어제보다 1% 더 성장하기

0개의 댓글