TIL 제출하기(매일 23:59 까지)
❤️🔥TIL : Today I Learned
매일 저녁, 공부를 마무리하면서 제출해주세요.
하루에 1%씩만 나아가도 4개월 동안 쌓이면 꽤 덩치가 커진답니다 :)
[TIL을 쓰는 이유]
1. 스스로 어제보다 한 발 더 나아갔다는 것을 자각하기
2. TIL을 쓰기 위해서라도, 오늘 반드시 단 하나라도 배우기
3. 꾸준히 기록을 남기는 습관 가지기
알고리즘 코드카타
수박 패턴 문자열 생성하기 문제 해결하기
수박 패턴 문자열 생성하기 문제 해결하기
이번 포스트에서는 주어진 길이 n에 따라 "수박수박수박..." 패턴을 생성하는 문제를 해결해보겠습니다. 이 문제는 주어진 길이만큼 반복적인 패턴을 생성하여 문자열로 반환하는 문제입니다.
문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수 solution을 완성하세요. 예를 들어 n이 4이면 "수박수박"을 리턴하고, 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건
- n은 길이 10,000 이하인 자연수입니다.
입출력 예
nreturn
3 | "수박수" |
---|---|
4 | "수박수박" |
해결 방법
이 문제를 해결하기 위해서는 다음과 같은 단계를 밟아야 합니다.
- 문자열을 저장할 StringBuilder 객체를 생성합니다.
- 주어진 길이 n만큼 반복하여 "수"와 "박"을 번갈아 추가합니다.
- 완성된 문자열을 반환합니다.
아래는 이 문제를 해결하기 위한 Java 코드입니다.
public class Solution {
public String solution(int n) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
if (i % 2 == 0) {
sb.append("수");
} else {
sb.append("박");
}
}
return sb.toString();
}
public static void main(String[] args) {
Solution sol = new Solution();
System.out.println(sol.solution(3)); // "수박수"
System.out.println(sol.solution(4)); // "수박수박"
}
}
코드 설명
- StringBuilder 객체 sb를 생성합니다.
- 주어진 길이 n만큼 반복문을 실행합니다.
- 인덱스 i가 짝수이면 "수"를 추가합니다.
- 인덱스 i가 홀수이면 "박"을 추가합니다.
- StringBuilder 객체 sb를 문자열로 변환하여 반환합니다.
SQL 코드카타
주어진 문제를 해결하기 위해 아직 입양을 못 간 동물 중 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL 쿼리를 작성하겠습니다.
문제 해결 방법
- 입양을 못 간 동물: ANIMAL_INS 테이블에 있지만 ANIMAL_OUTS 테이블에 없는 동물을 찾습니다.
- 오래 보호소에 있었던 동물 3마리: 보호 시작일을 기준으로 오래된 순서로 상위 3마리를 조회합니다.
SQL 쿼리
SELECT
I.NAME,
I.DATETIME
FROM
ANIMAL_INS I
LEFT JOIN
ANIMAL_OUTS O
ON
I.ANIMAL_ID = O.ANIMAL_ID
WHERE
O.ANIMAL_ID IS NULL
ORDER BY
I.DATETIME ASC
LIMIT 3;
쿼리 설명
- SELECT 문: ANIMAL_INS 테이블의 NAME과 DATETIME 컬럼을 선택합니다.
- FROM 문: ANIMAL_INS 테이블에서 데이터를 가져옵니다.
- LEFT JOIN 문: ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블을 ANIMAL_ID로 조인합니다. LEFT JOIN을 사용하여 ANIMAL_INS 테이블에 있는 모든 동물 정보를 가져오고, ANIMAL_OUTS 테이블에서 일치하는 행이 없는 경우 NULL로 표시됩니다.
- WHERE 문: O.ANIMAL_ID IS NULL 조건을 사용하여 ANIMAL_OUTS 테이블에 없는 (NULL인) 동물만 필터링합니다.
- ORDER BY 문: DATETIME을 기준으로 오름차순 정렬하여 가장 오래 보호소에 있었던 동물부터 조회합니다.
- LIMIT 3: 상위 3개의 결과만 반환합니다.
실행 결과
위의 쿼리를 실행하면 다음과 같은 결과가 나옵니다:
NAMEDATETIME
Shelly | 2015-01-29 15:01:00 |
---|---|
Jackie | 2016-01-03 16:25:00 |
Benji | 2016-04-19 13:28:00 |
이와 같이, 아직 입양을 가지 못한 동물 중 보호소에 가장 오래 있었던 동물 3마리의 이름과 보호 시작일을 조회할 수 있습니다.
느낀점
이 문제도 이상한게 그를 뒷받침하는 무수한 질문하기 버튼 속 숫자, 근데 이건 MySQL은 되고 오라클X
'TIL > 스파르타 코드카타' 카테고리의 다른 글
[내일배움캠프] 사전캠프 코드카타 33번 문제 (0) | 2024.09.03 |
---|---|
[내일배움캠프] 사전캠프 코드카타 32번 문제 (0) | 2024.09.03 |
[내일배움캠프] 사전캠프 코드카타 30번 문제 (0) | 2024.09.03 |
[내일배움캠프] 사전캠프 코드카타 29번 문제 (0) | 2024.09.03 |
[내일배움캠프] 사전캠프 코드카타 15번 문제 (0) | 2024.08.10 |