'6월 26일' 오십 번째 기록 [TIL]

가은·2024년 6월 26일
0

I Learned [본 캠프]

목록 보기
81/135
post-thumbnail

👩‍🏫 오늘의 출석

❓오십 번째, 9 to 9을 해 본 소감❓

대화하듯, 면접을 봐야 하는데 다른 사람들이 면접을 보고 있는 모습을 보면서 시뮬레이션할 때는 잘할 수 있을 것 같은데…. 막상 내가 내일 당장 면접을 본다고 생각하면 심장이 떨려서…. 아는 것도 머리가 백지가 되어버리는 나라서…. 속상하다…. 나도 안 떨고, 웃으면서 티키타카 잘 되는 면접을 보고 뿌듯하게 마무리할 수 있는 날이 왔으면 좋겠다…!

📑오늘 학습한 내용

🧩오늘의 알고리즘 : 숫자 짝꿍 🧩

문제 : 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다.

예를 들어, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 3, 0, 3으로 만들 수 있는 가장 큰 정수인 330입니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 가장 큰 정수인 552입니다(X에는 5가 3개, Y에는 5가 2개 나타나므로 남는 5 한 개는 짝 지을 수 없습니다.)
두 정수 X, Y가 주어졌을 때, X, Y의 짝꿍을 return하는 solution 함수를 완성해주세요.

제한사항
3 ≤ X, Y의 길이(자릿수) ≤ 3,000,000입니다.
X, Y는 0으로 시작하지 않습니다.
X, Y의 짝꿍은 상당히 큰 정수일 수 있으므로, 문자열로 반환합니다.

class Solution {
    public String solution(String X, String Y) {
        StringBuilder answer = new StringBuilder();
        int[] x = {0,0,0,0,0,0,0,0,0,0};
        int[] y = {0,0,0,0,0,0,0,0,0,0};
        for(int i=0; i<X.length();i++){
           x[X.charAt(i)-48] += 1;
        }
        for(int i=0; i<Y.length();i++){
           y[Y.charAt(i)-48] += 1;
        }

        for(int i=9; i >= 0; i--){
            for(int j=0; j<Math.min(x[i],y[i]); j++){
                answer.append(i);
            }
        }
        if("".equals(answer.toString())){
           return "-1";
        }else if(answer.toString().charAt(0)==48){
           return "0";
        }else {
            return answer.toString();
        }
    }
}

🧩 오늘의 SQL : 자동차 대여 기록에서 장기/단기 대여 구분하기 🧩

문제 : CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요.

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 START_DATE LIKE '2022-09%'
ORDER BY HISTORY_ID DESC;

오전에는 주특기 플러스 주차 및 최종 프로젝트 관련 발제가 있었고, 새로운 팀원들과 만나 인사하는 시간을 가졌다.

2시부터는 면접 관련 실시간 특강이 있었고, 앞부분에는 지난 면접 특강에 이어 조금 더 세부적으로 면접 관련해서 어떻게 공고를 보고, 어디 부분에 맞춰 면접을 준비해야 하는지 알려주셨다.
그리고 대망의 실시간 면접!
미리 지원받은 3명의 면접자와 튜터님이 실시간으로 면접하는 모습을 보여주셨다.
진짜, 너무 대단하다…. 나였으면, 긴장해서 새하얘진 머리로 겨우겨우 답변하고 끝났을 것 같은데 다들 긴장이 되었을 텐데도 침착하게 면접에 임했다.
확실히 제 3자가 되어서 다른 사람들이 면접하는 모습을 보니, 어느 부분이 아쉬운지, 어떤 점이 좋은지, 면접관이 지금 어떤 질문을 하는 게 그 질문의 초점이 어디에 있고, 이 질문에 나는 어떻게 대답할 건지(어떻게 대답하면 좋을지) 알 수 있어서 의미 있는 시간이었다.
제 3자의 시선으로 보고서는 나도 면접 때 저렇게 해보고 싶다는 생각을 해도, 면접만 보면 너무 긴장해서 하나도 기억 못 하고 끌려갈까 봐 여전히 걱정된다. 내가 긴장하지만 않는다면 내가 긴장할까 봐 긴장하지 않아도 될 텐데.. 그럼, 조금은 더 편안하게 면접을 보고 올 텐데.. 나는 항상 이 부분이 너무 아쉽다.

이후에는 새로 지급받은 강의를 들으며 시간을 보냈다.
오랜만에 AWS를 하는데, 역시 철저한 과거의 나.. 수업이 끝났다고 계정을 삭제했나 보다.. 계정 찾고, 만드는데 예상치 못하게 시간을 오래 사용해서 계획보다 일정이 밀려 버렸지만 그래도 AWS 배우니까 재밌다.

그리고 끝나기 20분인가 전부터는 팀원들과 마무리 회고를 하며 하루를 마무리했다! 이번 팀원들도 다들 얘기도 잘하시고, 의욕도 넘치셔서 이번 팀 프로젝트가 기대가 되면서도 내가 피해 주지 않고 내 몫을 잘 해내야 할 텐데 하는 걱정이 밀려온다..

0개의 댓글