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

728x90

데일리루틴 SQL

MySQL 과일로 만든 아이스크림 고르기 정답입니다.

SELECT I.FLAVOR
FROM ICECREAM_INFO I
JOIN FIRST_HALF F ON F.FLAVOR=I.FLAVOR
WHERE F.TOTAL_ORDER > 3000 AND INGREDIENT_TYPE LIKE 'fruit%'

 

  • SELECT I.FLAVOR: ICECREAM_INFO 테이블에서 아이스크림 맛(FLAVOR)을 선택합니다.
  • FROM ICECREAM_INFO I: ICECREAM_INFO 테이블을 기준으로 조회를 시작하며, 테이블에 I라는 별칭을 부여합니다.
  • JOIN FIRST_HALF F ON F.FLAVOR = I.FLAVOR: FIRST_HALF 테이블과 ICECREAM_INFO 테이블을 FLAVOR 컬럼을 기준으로 조인합니다.
  • WHERE F.TOTAL_ORDER > 3000: 조인된 데이터 중 상반기 총 주문량(TOTAL_ORDER)이 3,000건을 초과하는 데이터를 필터링합니다.
  • AND INGREDIENT_TYPE LIKE 'fruit%': 재료 유형(INGREDIENT_TYPE)이 'fruit'로 시작하는 데이터만 필터링합니다.

 


데일리루틴 알고리즘

Java 콜라 문제 정답입니다.

class Solution {
    public int solution(int a, int b, int n) {
        int answer = 0;
        while(n >= a) {
            answer += n / a * b;
            n = n / a * b + n % a;
        }
        return answer;
    }
}

 

  • 초기 변수 선언 (int answer = 0;)
    • answer는 상빈이가 받을 수 있는 콜라의 총 병 수를 저장합니다.
  • while(n >= a)
    • 현재 보유 중인 빈 병의 개수 n이 교환 조건인 a보다 크거나 같을 때 반복문을 실행합니다.
    • 더 이상 교환이 불가능할 때 반복을 종료합니다.
  • answer += n / a * b;
    • 빈 병 n개를 교환하여 받는 콜라 병의 수를 계산(n / a * b)하고, 이를 answer에 누적합니다.
  • n = n / a * b + n % a;
    • 새로운 n 값은 교환 후 받은 콜라 병(n / a * b)과 교환 후 남은 빈 병(n % a)의 합으로 업데이트됩니다.
    • 이를 통해 다음 교환을 준비합니다.
  • return answer;
    • 누적된 answer 값을 반환하여 상빈이가 받을 수 있는 총 콜라 병 수를 반환합니다.

 

728x90
반응형
LIST