TIL(Today I Learned)_데일리루틴_24.12.07.Sat

728x90

데일리루틴 SQL

MySQL 자동차 대여 기록에서 장기/단기 대여 구분하기 정답입니다.

SELECT
    HISTORY_ID,
    CAR_ID,
    DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE,
    DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE, 
    CASE
        WHEN DATEDIFF(END_DATE, START_DATE) >= 29 THEN '장기 대여'
        ELSE '단기 대여'
    END AS RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE DATE_FORMAT(START_DATE, '%Y-%m') = '2022-09'
ORDER BY HISTORY_ID DESC;

데일리루틴 알고리즘

Java 옹알이 (2) 정답입니다.

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;

        // 발음 가능한 단어 배열
        String[] canBabble = {"aya", "ye", "woo", "ma"};

        // 입력 문자열 배열을 순회
        for (String word : babbling) {
            boolean isValid = true;

            // 연속된 같은 발음을 방지하기 위한 초기화
            String prev = "";

            // 발음 가능한 단어를 대체하며 검증
            for (String sound : canBabble) {
                // 연속 발음을 체크
                if (word.contains(sound + sound)) {
                    isValid = false;
                    break;
                }
                // 발음 가능한 단어를 모두 제거
                word = word.replace(sound, " ");
            }

            // 검증: 모든 발음 가능한 단어 제거 후 남은 문자열이 공백이어야 함
            if (isValid && word.trim().isEmpty()) {
                answer++;
            }
        }

        return answer;
    }
}
728x90
반응형
LIST