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를 까먹고 있었는데 되새길 수 있었다.
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

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

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

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