항해99/취업 리부트 코스 3기

[항해99 취업 리부트 코스 학습일지] 3기 13일차 TIL(부제: 불태웠다...)

delay100 2024. 6. 5. 20:55
728x90
반응형

안녕하세요. delay100입니다.

오늘부터 코딩테스트 문제 팀 조를 베이직 -> 챌린저로 이동했습니다! 

챌린저가 되고 첫번째 문제풀이었는데..! 

그래도 베이직때도 1-8번까지 다 풀어가지고 좀 괜찮았던 것 같아요

그치만 이번주부터는 더 어려운 난이도로 매일 4번~12번을 풀어야 하기 때문에... 많이 빡셀거같아요,,,

저녁도 굶고 기술 매니저님 오시기 10분전에 모든 문제풀이 완료..ㅠㅠ!! 휴,,,,!

그래도 오늘은 답지하나 안보고 ! 해결한게 너무 대견하고 자랑스럽네요 히히.. 불태웠다..

매일 이렇게 풀고 알고리즘 문제 풀이 챌린지 또 리워드 받고 말거에요 !!!

저번주 완주 리워드는 배달의민족 3만원쿠폰!!! 받았습니다

알고리즘 2주차 완주 성공! 리워드 지급받음!


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만원 할인
(*얼리버드, 타 혜택 중복 적용 가능)

 

IT 커리어 성장 코스 항해99, 개발자 취업부터 현직자 코스까지

항해99는 실무에 집중합니다. 최단기간에 개발자로 취업하고, 현직자 코스로 폭발 성장을 이어가세요. 실전 프로젝트, 포트폴리오 멘토링, 모의 면접까지.

hanghae99.spartacodingclub.kr

 

728x90
반응형