TIL(Today I Learned)_데일리루틴_24.11.13.Wed

728x90

데일리루틴 SQL

MySQL 조건별로 분류하여 주문상태 출력하기 정답입니다.
SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE,
    CASE 
        WHEN OUT_DATE IS NULL THEN '출고미정'
        WHEN OUT_DATE <= '2022-05-01' THEN '출고완료'
        WHEN OUT_DATE > '2022-05-01' THEN '출고대기'
    END AS 출고여부
FROM 
FOOD_ORDER
ORDER BY 
ORDER_ID ASC;

 

  • SELECT 절:
    • ORDER_ID, PRODUCT_ID, OUT_DATE 컬럼을 FOOD_ORDER 테이블에서 선택합니다.
    • DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE: OUT_DATE 값을 YYYY-MM-DD 형식으로 변환합니다. 원본 OUT_DATE는 일반적으로 날짜와 시간 형식이 포함될 수 있으므로, 보기 쉽게 년-월-일 형식으로 표시합니다.
  • CASE 문을 통한 출고 여부 구분:
    • CASE 문을 사용하여 출고여부라는 새로운 컬럼을 만듭니다.
    • OUT_DATE 값에 따라 각기 다른 출고 상태를 설정합니다.
      • WHEN OUT_DATE IS NULL THEN '출고미정': OUT_DATE가 NULL일 경우, 아직 출고 날짜가 정해지지 않았다는 의미로 '출고미정'이라는 값을 부여합니다.
      • WHEN OUT_DATE <= '2022-05-01' THEN '출고완료': OUT_DATE가 2022-05-01보다 이전이거나 같은 경우, 이미 출고가 완료되었다는 의미로 '출고완료'라는 값을 설정합니다.
      • WHEN OUT_DATE > '2022-05-01' THEN '출고대기': OUT_DATE가 2022-05-01 이후인 경우, 출고가 예정된 상태라는 의미로 '출고대기' 값을 설정합니다.
  • FROM 절:
    • 데이터가 조회될 테이블인 FOOD_ORDER에서 데이터를 가져옵니다.
  • ORDER BY 절:
    • ORDER_ID를 기준으로 오름차순(ASC) 정렬하여 결과를 출력합니다. 이를 통해 ORDER_ID 순서대로 정렬된 데이터를 얻을 수 있습니다.

 


데일리루틴 알고리즘

java 직사각형 별찍기 정답입니다.

 

import java.util.Scanner;

class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();

        for(int i = 0; i < m; i++) {
            for(int j = 0; j < n; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
  • 입력 받기:
    • Scanner 클래스를 사용하여 두 개의 정수 n과 m을 입력 받습니다. 여기서 n은 별의 가로 개수, m은 세로 줄 수를 나타냅니다.
  • 반복문:
    • for 루프를 사용하여 m번 반복합니다. 이 반복문은 세로 줄 수를 의미하며, 각 줄마다 별을 출력합니다.
    • 내부 for 루프는 n번 반복하여 가로로 n개의 별을 출력합니다.
  • 출력:
    • System.out.println()을 통해 줄바꿈을 처리하여 n x m 크기의 별 사각형을 출력합니다.

 처음 만들 때 for문의 j++에 i++를 넣었더니 너무 길어서 출력할 수 없다고 했습니다. 이렇게 만들면 아마 두번째 for문을 탈출하지 못해서 무한대로 별을 생성하게 됩니다. 한 두세번 출력할 동안 몰랐는데 주의해야겠습니다.

import java.util.Scanner;

class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();

        for(int i = 0; i < m; i++) {
            for(int j = 0; j < n; i++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

 

 

728x90
반응형
LIST