TIL day 59

최병은·2024년 3월 24일
  1. 코딩 테스트 (의상)
import java.util.HashMap;
import java.util.Map;

class Solution {
    public int solution(String[][] clothes) {
        int answer = 1;

        Map<String,Integer> c = new HashMap<>();

        for (int i = 0; i < clothes.length; i++) {
            c.put(clothes[i][1],c.getOrDefault(clothes[i][1],0)+1);
        }

        for (String k : c.keySet()) {
            answer *= c.get(k)+1;
        }

        return answer - 1;
    }
}

getOrDefault를 까먹고 있었는데 되새길 수 있었다.


  1. SQL 테스트 (보호소에서 중성화한 동물)
SELECT i.ANIMAL_ID, i.ANIMAL_TYPE, i.NAME
FROM ANIMAL_INS i
INNER JOIN ANIMAL_OUTS o ON i.ANIMAL_ID = o.ANIMAL_ID
WHERE i.SEX_UPON_INTAKE LIKE 'Intact%' AND (o.SEX_UPON_OUTCOME LIKE 'Neutered%' OR o.SEX_UPON_OUTCOME LIKE 'Spayed%')
ORDER BY 1

  1. Projection 활용

전체(*)를 select하고 싶으면 List<User.>로 받으면 되고 위 사진 같은 경우처럼 username 하나만 받고 싶으면 username이 String이니까 List<String.>으로 받으면 된다.

하지만 위 사진처럼 2개 이상을 받으려면 projection을 활용해야 한다고 한다.

받고 싶은 컬럼들을 dto 형태로 만들면 된다.

profile
안녕하세요

0개의 댓글