오늘도 알고리즘, SQL를 풀고 강의를 들었다.
최근 아파서 학습에 집중하지 못했다. 다음주부터 열심히 해야겠다.
오늘의 알고리즘 문제는 '가운데 글자 가져오기'였다.
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.
단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
재한사항
s는 길이가 1 이상, 100이하인 스트링입니다.
문제는 위와 같다.
s의 길이를 반으로 나누고, 길이가 홀수라면 그 가운데 있는 글자를 반환하고 짝수라면 반으로 나눈 것에 +=1을 한 글자를 반환하면 된다.
제출한 코드는 아래와 같다.
class Solution {
public String solution(String s) {
String answer = "";
int len = s.length();
if (len % 2 == 1)
{
answer = String.valueOf(s.charAt(len/2));
} else {
answer = s.substring((len/2) - 1, (len/2) + 1);
}
return answer;
}
}
SQL 문제는 '오랜 기간 보호한 동물'이었다.
아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다.
처음으로 JOIN을 써야하는 문제가 나왔다.
3마리이므로 LIMIT 3을 써야하고, ID를 통해 JOIN해주었다.
제출한 코드는 아래와 같다.
SELECT
A.NAME,
A.DATETIME AS START_DATE
FROM
ANIMAL_INS A
LEFT JOIN
ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE
B.ANIMAL_ID IS NULL
ORDER BY
A.DATETIME
LIMIT 3;