'5월 22일' 스물여섯 번째 기록 [TIL]

가은·2024년 5월 22일
0

I Learned [본 캠프]

목록 보기
41/135
post-thumbnail

👩‍🏫 오늘의 출석

❓스물여섯 번째, 9 to 9을 해 본 소감❓

노션으로 계획을 정리하다가 동기화 기능을 가지고 계획을 세우니 편리하는 걸 알게 되어 신나서 계획을 짰다. 아무래도 강의를 들을게 많다 보니 데일리로 계획을 세우면 한눈에 어디까지 강의를 들었고 얼마나 남았는지, 다음 계획은 어떻게 짜야 할지 감이 안 오는데 이렇게 동기화를 사용해서 계획을 세우니까 한눈에 전체 강의 진도 파악이 가능해서 너무 좋았다.

📑오늘 학습한 내용

🧩오늘의 알고리즘 : 수박수박수박수박수박수? 🧩

문제 : 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

제한 조건

  • n은 길이 10,000이하인 자연수입니다.
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, 문자열로 이어 붙임.

🧩 오늘의 SQL : 오랜 기간 보호한 동물(1) 🧩

문제 : 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 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

오늘은 오랜만에 자바의 정석 강의 들으며 자바 공부도 좀 하고, 숙련 주차 지급받은 강의도 좀 들으며 시간을 보냈다.

0개의 댓글