728x90
데일리루틴 SQL
MySQL 조건에 맞는 도서 리스트 출력하기 정답입니다.
SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') FROM BOOK
WHERE CATEGORY LIKE '인문' AND DATE_FORMAT(PUBLISHED_DATE, '%Y') = 2021
ORDER BY PUBLISHED_DATE
- SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d')
- BOOK_ID: 테이블에서 BOOK_ID 컬럼 값을 선택합니다.
- DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d'): PUBLISHED_DATE 컬럼의 값을 YYYY-MM-DD 형식의 문자열로 변환하여 선택합니다.
- FROM BOOK
- BOOK 테이블에서 데이터를 가져옵니다.
- WHERE CATEGORY LIKE '인문'
- CATEGORY 컬럼의 값이 '인문' 문자열과 일치하는(또는 포함하는) 행만 필터링합니다.
- LIKE는 부분 일치를 확인하는 데 사용되며, 여기서는 특정 문자열만 직접 일치시킵니다.
- AND DATE_FORMAT(PUBLISHED_DATE, '%Y') = 2021
- PUBLISHED_DATE 컬럼의 값을 연도로 변환한 결과가 2021인 행만 필터링합니다.
- DATE_FORMAT(PUBLISHED_DATE, '%Y')는 PUBLISHED_DATE에서 연도(%Y)만 추출합니다.
- ORDER BY PUBLISHED_DATE
- PUBLISHED_DATE 컬럼을 기준으로 오름차순(기본값) 정렬합니다.
- 날짜가 오래된 순서대로 결과를 정렬하여 표시합니다.
데일리루틴 알고리즘
Java 이상한 문자 만들기 정답입니다.
class Solution {
public String solution(String s) {
StringBuilder result = new StringBuilder();
String[] words = s.split(" ", -1);
for (int i = 0; i < words.length; i++) {
StringBuilder wordResult = new StringBuilder();
String word = words[i];
for (int j = 0; j < word.length(); j++) {
char c = word.charAt(j);
if (j % 2 == 0) {
wordResult.append(Character.toUpperCase(c));
} else {
wordResult.append(Character.toLowerCase(c));
}
}
result.append(wordResult);
if (i < words.length - 1) {
result.append(" ");
}
}
return result.toString();
}
}
- 문자열 분리
- 입력 문자열을 공백 기준으로 나눕니다.
- split(" ", -1) 옵션을 사용해, 연속된 공백도 포함하도록 처리합니다.
- 단어별 변환
- 각 단어를 순회하며, 문자 하나씩 처리합니다.
- 짝수 인덱스(j % 2 == 0)의 문자는 대문자로, 홀수 인덱스는 소문자로 변환합니다.
- 변환 결과는 단어별로 StringBuilder에 저장합니다.
- 단어 조합
- 변환된 단어들을 공백으로 연결하여 최종 문자열을 만듭니다.
- 마지막 단어 뒤에는 공백을 추가하지 않습니다.
728x90
반응형
LIST
'Sparta > 데일리루틴' 카테고리의 다른 글
TIL(Today I Learned)_데일리루틴_24.11.18.Mon (0) | 2024.11.18 |
---|---|
TIL(Today I Learned)_데일리루틴_24.11.17.Sun (0) | 2024.11.17 |
TIL(Today I Learned)_데일리루틴_24.11.15.Fri (0) | 2024.11.15 |
TIL(Today I Learned)_데일리루틴_24.11.14.Thr (0) | 2024.11.14 |
TIL(Today I Learned)_데일리루틴_24.11.13.Wed (0) | 2024.11.13 |