공부/패스트 캠퍼스 챌린지

코딩테스트 - 패스트캠퍼스 챌린지 03일차

kNOwAnswer 2022. 1. 26. 21:58

수강한 강의
Chapter 04 자료구조 (배열)
- 꼭 알아둬야 할 자료 구조: 배열 (Array)
Chapter 05 자료구조 (큐)
- 꼭 알아둬야 할 자료 구조: 큐 (Queue)

학습 후기
1. 배열
같은 종류의 데이터를 순차적으로 저장하는 자료구조
장점: 빠르게 인덱스 번호로 접근
단점: 길이가 미리 정해져 있다 - List 말고 String[] 과 같은 배열
- Primitive 자료형과 Wrapper 클래스
Wrapper 클래스를 사용한다. 이유는 null 처리 용이, ArrayList등 객체만을 핸들링 하는 기능을 사용하기 위해

ArrayList 클래스는 가변 길이의 배열 자료구조를 다룰 수 있다.
- List와 ArrayList 차이점
List 인터페이스, ArrayList는 클래스
List 인터페이스는 다른 리스트 클래스를 쓸 수 있어 구현상에 유연성을 제공하지만
강의에서는 인터페이스로 선언된 변수에 다양한 리스트 클래스를 쓸 일이 없으므로 동일한 클래스로 선언하기로 한다.

JDK 1.7 이상부터 인스턴스 생성시 타입을 추정할 수 있는 경우 타입 생략이 가능하지만 가능한 JDK의 제한을 받지 않기 위해 강의에서는 항상 선언한다.

ArrayList<String> arrayList = new ArrayList<String>(); // 타입 명시 ArrayList<String> arrayList = new ArrayList<>(); // JDK 1.7이상 생략 가능

2. 큐
줄을 서는 행위와 유사, First-In, First-Out(FIFO), Last-In, Last-Out(LILO)
- 알아둘 용어
Enqueue: 큐에 데이터를 넣는 기능, add(), offer()
Dequeue: 큐에서 데이터를 꺼내는 기능, poll(), remove()

메소드 기능 Returns
add(e) 추가 true / 예외처리
offer(e) 추가 true / false
remove() 제거 삭제된 값 / 예외처리
remove(e) 제거 true / false
poll() 제거 삭제된 값 / 없으면 null
element() 확인 head 값 / 예외처리
peak() 확인 head 값 / 없으면 null

intellij에서 메소드 위에서 Ctrl + Q 를 눌러 Document를 보면 자세히 나와있다.

이번 강의에서 ArrayList 클래스를 활용해 Queue를 구현하는 프로그래밍 연습문제가 있었다.
힌트에 따라 구현해보니 쉽게 구현할 수 있었다. 큐의 메소드를 상세히 알아보고 직접 구현해보는 유익한 강의였다.
직접 만든 CustomQueue는 Github에서 확인하면 된다.

수강 인증샷

 

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

반응형