TIL

TIL_20230613

번잔중 2023. 6. 13. 23:51

오늘 할 일

  • 프로그래머스 문제 풀기
  • 코드스테이츠 학습자료 정리하기
  • 김영한의 스프링 입문 강의 듣기
  • 기술 면접 질문 공부하기
  • 공모전 ERD 테이블 명세서 작성하기
  • 운동하기 - 웨이트 트레이닝

오늘 배운 것

프로그래머스 문제 풀기

  • 코드는 github repository에 있습니다. (https://github.com/chaning49/Algorithm)
  • Lv 0. 안전지대
  • Lv 0. 문자열 묶기
  • Lv 1. 명예의전당 (1)
  • Lv 1. 개인정보 수집 유효기간
  • 실수를 기록해보려고 합니다. 처음 풀 때에 k 값과 score의 길이를 제대로 확인하지 않고 작성한 코드가 아래 코드입니다. 해당 코드는 k가 score보다 커지는 경우를 고려하지 않아 특정 테스트케이스를 통과하지 못했습니다.
  • 문제를 인지하고 바꾼 코드는 github에 올려놓았습니다.

 

// ❌❌ 정답 코드가 아닙니다!! ❌❌
import java.util.*;

// k가 score의 길이보다 긴 경우 error
class Solution {
    public int[] solution(int k, int[] score) {
        int[] answer = {};
        List<Integer> ansList = new ArrayList<>();
        
        // k 크기만큼의 숫자를 저장할 최소 힙
        Queue<Integer> minHeap = new PriorityQueue<>();
        
        // k번 동안 score의 값을 넣는다.
        for (int i = 0; i < k; i++) {
            minHeap.offer(score[i]);
            ansList.add(minHeap.peek());
        }
        
        // score - k 인덱스부터 다시 값을 비교해가면서 넣어준다.
        for (int i = k; i < score.length; i++) {
            if (score[i] > minHeap.peek()) {
                minHeap.poll();
                minHeap.offer(score[i]);
            } 
            ansList.add(minHeap.peek());
        }
        
        // 리스트를 배열로 바꿔준다.
        answer = new int[ansList.size()];
        for (int i = 0; i < ansList.size(); i++) {
            answer[i] = ansList.get(i);
        }
        
        return answer;
    }
}

기술 면접 질문 공부하기

공모전 ERD 테이블 명세서 작성하기

  • 테이블 명세서를 작성했습니다.
  • 아직 완성본은 아니고, 대략적으로 짜보았는데 기능과 DB는 또 다르다는 것을 느꼈습니다. 
  • Member
    • Profile
    • Mentor
    • Child
  • Mentoring
    • Apply
    • Reject
  • Notification(아직도 고민중)
  • 멤버 쪽은 그렇다 치고, 멘토링 쪽은 이게 맞는지 의문이 듭니다...

운동하기 - 웨이트 트레이닝

19일차!

느낀점

  • 친구와 프로그래머스 문제를 풀어봤는데요. 4개를 풀고 난 소감은 역시나 많다...! 덕분에 다른 할 일들을 못하게 됐습니다. ㅠㅠ 문제 수를 줄이자고 말해서 내일부터는 2개씩!
  • 기술면접 질문을 조금씩 준비하기 위해서 공부해봤는데요. 역시 기술 면접 관련 질문을 손 놓고 지냈더니 거의 백지입니다... 이제부터라도 1~2개씩 정리하면서 준비해볼 생각입니다. 물론 급하면 벼락치기 ㅎ;;
  • 오랜만에 운동을 했습니다. 아주 땀이 뻘뻘 났습니다...

내일 할 일

  • 프로그래머스 문제 풀기
  • 테이블 명세서 관련 회의
  • 기술 면접 질문 공부하기

'TIL' 카테고리의 다른 글

TIL_20230615  (0) 2023.06.15
TIL_20230614  (0) 2023.06.15
TIL_20230612  (0) 2023.06.12
TIL_20230610-11  (0) 2023.06.11
TIL_20230609  (0) 2023.06.09