오늘 할 일
- 프로그래머스 문제 풀기
코드스테이츠 학습자료 정리하기김영한의 스프링 입문 강의 듣기- 기술 면접 질문 공부하기
- 공모전
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;
}
}
기술 면접 질문 공부하기
- 브라우저에 https://www.google.com/을 검색하면 무슨 일이 일어날까?
- 브라우저 주소창에 https://www.google.com/을 타이핑한다.
- 브라우저는 https://www.google.com/의 ip 주소와 대응되는 DNS 레코드가 캐시에 있는지 확인한다.
- 요청한 URL이 캐시에 없다면 ISP의 DNS 서버가 https://www.google.com/을 호스팅하고 있는 서버의 ip 주소를 찾기 위해 DNS 쿼리를 보낸다.
- 브라우저가 서버와 TCP 연결을 한다.
- 브라우저는 HTTP 요청을 웹서버에 보낸다.
- 서버에서 요청을 처리하고, 응답을 반환한다.
- 서버가 HTTP 응답을 보낸다.
- 브라우저는 HTML 콘텐츠를 보여준다.
- 해당 내용은 내일 오전 중으로 블로그에 더 정리해서 작성해보겠습니다!
- 참고 자료1: https://devjin-blog.com/what-happen-browser-search/
- 참고 자료2: https://leeph.tistory.com/39
- 참고 자료3: https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-URL-%EA%B5%AC%EC%84%B1-%EC%9A%94%EC%86%8C-%EC%9A%94%EC%B2%AD-%ED%9D%90%EB%A6%84-%EC%A0%95%EB%A6%AC
- 참고 자료4: https://medium.com/@maneesa/what-happens-when-you-type-an-url-in-the-browser-and-press-enter-bb0aa2449c1a
공모전 ERD 테이블 명세서 작성하기
- 테이블 명세서를 작성했습니다.
- 아직 완성본은 아니고, 대략적으로 짜보았는데 기능과 DB는 또 다르다는 것을 느꼈습니다.
- Member
- Profile
- Mentor
- Child
- Mentoring
- Apply
- Reject
- Notification(아직도 고민중)
- 멤버 쪽은 그렇다 치고, 멘토링 쪽은 이게 맞는지 의문이 듭니다...
운동하기 - 웨이트 트레이닝
느낀점
- 친구와 프로그래머스 문제를 풀어봤는데요. 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 |