노션으로 계획을 정리하다가 동기화 기능을 가지고 계획을 세우니 편리하는 걸 알게 되어 신나서 계획을 짰다. 아무래도 강의를 들을게 많다 보니 데일리로 계획을 세우면 한눈에 어디까지 강의를 들었고 얼마나 남았는지, 다음 계획은 어떻게 짜야 할지 감이 안 오는데 이렇게 동기화를 사용해서 계획을 세우니까 한눈에 전체 강의 진도 파악이 가능해서 너무 좋았다.
문제 : 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
class Solution {
public String solution(int n) {
String answer = "";
for(int i = 0; i < n; i++) {
answer += (i%2 == 0)? "수" : "박";
}
return answer;
}
}
class Solution {
public String solution(int n) {
return IntStream.rangeClosed(1, n)
.mapToObj(i -> i%2 != 0? "수":"박")
.collect(Collectors.joining());
}
}
- IntStream을 생성하고 1부터 n까지 범위를 잡음. (문자열의 범위)
rangeClosed()
메서드는 종료범위까지 포함함.- maq은 스트림 내 요소들을 하나씩 특정 값으로 변환해줌.
- 스트림에 들어가 있는 값이 input되어 특정 로직을 거친 후 output되어 리턴되는 새로운 스트림에 담기는 것이 mapping.
mapToObj()
메서드로 삼항연산자를 사용하여 i의 값을 결정.- Collectors 객체의
joining()
메서드로스트림에 작업한 결과를 하나의 String, 문자열로 이어 붙임.
문제 : 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다.
SELECT A.NAME, A.DATETIME
FROM ANIMAL_INS A
LEFT OUTER JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.DATETIME
LIMIT 3;
INNER JOIN
테이블 데이터 간 교집합
OUTER JOIN
LEFT JOIN
왼쪽 테이블을 기준으로 조인RIGHT JOIN
오른쪽 테이블을 기준으로 조인FULL JOIN
LEFT JOIN 결과와 OUTER JOIN 결과를 합친 결과
사진 출처 : https://commons.wikimedia.org/wiki/File:SQL_Joins.svg
오늘은 오랜만에 자바의 정석 강의 들으며 자바 공부도 좀 하고, 숙련 주차 지급받은 강의도 좀 들으며 시간을 보냈다.