본문 바로가기
(2024-10) 스파르타 내일배움캠프 - 백엔드/TIL

(2024-11-27) TIL

by 어뫄어뫄 2024. 11. 27.

 

1.데일리 루틴(SQL)

JOIN으로 테이블을 합하고 조건들을 검사하는 간단한 문제였다.

SELECT
    f.FLAVOR
FROM
    FIRST_HALF f LEFT JOIN ICECREAM_INFO i on f.FLAVOR = i.FLAVOR
WHERE
    f.TOTAL_ORDER > 3000
    AND i.INGREDIENT_TYPE = "fruit_based"
ORDER BY
    f.TOTAL_ORDER DESC

 

 

LEFT JOIN과 WHERE 이 주로 지켜볼 부분이다. LEFT JOIN은 FIRST_HALF 테이블과 ICECREAM_INFO 테이블을 FLAVOR 열을 기준으로 결합하여, FIRST_HALF 테이블의 모든 행을 포함하고, ICECREAM_INFO 테이블에서 일치하는 행이 없는 경우 해당 열의 값은 NULL로 반환된다. 이 문제에서는 NULL이 발생하지 않을 것으로 기대한다.

  WHERE 절은 쿼리의 결과를 필터링하는 데 사용된다. 여기서는 FIRST_HALF 테이블의 TOTAL_ORDER가 3000보다 큰 행만 선택하고, 동시에 ICECREAM_INFO 테이블에서 INGREDIENT_TYPE이 "fruit_based"인 행만 포함하도록 조건을 설정한다.

 

 

2.데일리 루틴(Java)

 

class Solution {
    public int solution(int a, int b, int n) {
        long answer = 0;
        
        answer = GiveCola(a, b, n, 0, 0);
        
        return (int) answer;
    }
    
    public static long GiveCola(final long needBottle, final long returnBottle, long newBottle, long remainBottle, long total){
        long division = (newBottle + remainBottle) / needBottle;
        if (division == 0){
            return total;
        }
    
        remainBottle = (newBottle + remainBottle) % needBottle;
        newBottle = division * returnBottle;
        total += newBottle;
            
        return GiveCola(needBottle, returnBottle, newBottle, remainBottle, total);
    }
}

 

수학을 모르면 몸이 고생한다.

 

3.Java Reflect 예제 정리

 

https://playnplayer.tistory.com/49

 

Java Reflect의 Array 제어

import java.util.Arrays;import java.util.List;public class ReflectionExample { public static void main(String[] args) { String[] stringArray = {"Hello", "World", "Java"}; List intList = Arrays.asList(1, 2, 3, 4); analyzeArray(stringArray); analyzeArray(int

playnplayer.tistory.com

https://playnplayer.tistory.com/50

 

Field 제어

import java.lang.reflect.Field;public class ReflectionDemo { public static void main(String[] args) { try { // Person 객체 생성 Person person = new Person("John Doe", 30); // Person 클래스의 필드 정보 출력 printClassFieldsInfo(person); // 'ag

playnplayer.tistory.com

https://playnplayer.tistory.com/51

 

필드 제어 예제) JsonSerializer

JsonSerializer.javapackage jsonserializer;import models.Address;import models.Company;import models.Person;import java.lang.reflect.Field;public class JsonSerializer { public static void main(String[] args) throws IllegalAccessException { Company company =

playnplayer.tistory.com

https://playnplayer.tistory.com/52

 

필드 제어 예제2) Json Serializer with Array

JsonSerializerDemo.javapackage jsonserializer;import models.Actor;import models.Movie;import java.lang.reflect.Array;import java.lang.reflect.Field;public class JsonSerializerDemo { public static void main(String[] args) throws IllegalAccessException { Act

playnplayer.tistory.com

https://playnplayer.tistory.com/53

 

ConfigLoader 예제

ConfigLoaderDemo.javapackage configloader;import configs.AppConfig;import java.io.IOException;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.nio.file.Path;import java.util.

playnplayer.tistory.com

https://playnplayer.tistory.com/54

 

Getter 동적 생성

TestClassValidator.javapackage validation;import entities.Item;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.HashMap;import java.util.Map;public class TestClassValidator { public static void main(String[] args) { validateG

playnplayer.tistory.com

 

 

 

 

'(2024-10) 스파르타 내일배움캠프 - 백엔드 > TIL' 카테고리의 다른 글

(2024-11-29) TIL  (1) 2024.11.29
(2024-11-28) TIL  (0) 2024.11.28
(2024-11-26) TIL  (0) 2024.11.26
(2024-11-25) TIL  (0) 2024.11.25
(2024-11-22) TIL  (0) 2024.11.22