안녕하세요. delay100입니다.
오늘부터 코딩테스트 문제 팀 조를 베이직 -> 챌린저로 이동했습니다!
챌린저가 되고 첫번째 문제풀이었는데..!
그래도 베이직때도 1-8번까지 다 풀어가지고 좀 괜찮았던 것 같아요
그치만 이번주부터는 더 어려운 난이도로 매일 4번~12번을 풀어야 하기 때문에... 많이 빡셀거같아요,,,
저녁도 굶고 기술 매니저님 오시기 10분전에 모든 문제풀이 완료..ㅠㅠ!! 휴,,,,!
그래도 오늘은 답지하나 안보고 ! 해결한게 너무 대견하고 자랑스럽네요 히히.. 불태웠다..
매일 이렇게 풀고 알고리즘 문제 풀이 챌린지 또 리워드 받고 말거에요 !!!
저번주 완주 리워드는 배달의민족 3만원쿠폰!!! 받았습니다
3주차 TIL 질문 키워드
Q1. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?
A.
Stack, Queue, Deque
추가적으로 문제 풀다가 ArrayDeque에 대해 찾아보았습니다!
Q2. 이번 주 진행된 팀 스터디에서 얻은 인사이트는 무엇인가요?
A1.
for(int i=0; i<alSize; i++) {
if(maxPriority < al.get(i).getPriority()) {
maxIdx = i;
maxPriority = al.get(i).getPriority();
}
}
// => 캐싱하는 형태로 바꾸기
// list 개수가 너무 많을때는 map으로 최댓값 찾는게 더 좋을 듯 함
// 근데 문제에서 캐싱을 저격하는 문제가 나올 수도 있음
// 엄청 큰 입력에 대해 반례도 많이 넣어보기
A2. ArrayDeque?
ArrayDeque를 구현할 때 ArrayDeque와 LinkedList를 대표적으로 사용합니다.
각각 언제 사용하느냐?
ArrayDeque는 배열로 되어있음, 끝에서만 연산을 할 때는 ArrayDeque를 이용
LinkedList는 Node형태로 되어있음, 중간에 값을 넣어야할게 많으면 이용
그리고,
대부분은 stack 대신에 ArrayDeque를 사용하는 것이 좋습니다.
stack은 구현하는 자료구조가 없고 Vector를 상속받아서 메소드만 존재합니다.
원래 java에서 ArrayList대신에 Vector를 쓰고 있었는데, Vector를 개선해서 나온 것이 ArrayList입니다.
근데 stack은 다 synchronized가 걸려있음(thread safe를 위함)
java에서 동기화가 중요하기 때문에 synchronized에 대해 추가 학습하면 좋습니다.
항해99 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.
[할인]란에 “추천왕 3기 백지연” 입력 시 10만원 할인
(*얼리버드, 타 혜택 중복 적용 가능)
'항해99 > 취업 리부트 코스 3기' 카테고리의 다른 글
[항해99 취업 리부트 코스 학습일지] 3기 15일차 TIL(부제: 이분탐색! 조금은 친해졌을지도..) (1) | 2024.06.07 |
---|---|
[항해99 취업 리부트 코스 학습일지] 3기 14일차 TIL(부제: 안주하지말자..) (0) | 2024.06.06 |
[항해99 취업 리부트 코스 학습일지] 3기 12일차 TIL(부제: 코테 긴장 + 모의면접 긴장 => 자신감 하락...) (0) | 2024.06.04 |
[항해99 취업 리부트 코스 학습일지] 3기 11일차 TIL (0) | 2024.06.03 |
[항해99 취업 리부트 코스 학습일지] 3기 10일차 TIL (0) | 2024.06.01 |