알고리즘 챌린지

패스트캠퍼스 챌린지 2일차

JUN0126 2022. 1. 25. 23:16

자료구조 

1. 구조 배열 (Array)

// new 키워드를 사용해서, 배열을 미리 선언하고, 데이터를 넣을 수도 있다
Integer[] data_list = new Integer [10]
data_list[0] = 1

// 직접 배열 데이터 선언 시 넣을 수도 있다.
Integer data_list1[] = {5,4,3,2,1}
Integer[] data_list 2 = {1,2,3,4,5}
datalist_1[0] // 5
datalist_2[0] // 1

// 배열 내용 출력
Arrays.toString(배열)

• List 와 ArrayList
   List는 인터페이스고, ArrayList 는 클래스이다
   List<Integer> list1 = new ArrayList<Integer> // 인터페이스로 선언한 list1의 구현 클래스는 변경 가능하다
   list1 = new LinkedList<Integer> 로 변경 가능

해당 강의에서는 인터페이스로 선언하지 않고 클래스로 선언하기로 정의함

배열의 아이템 추가 메서드 add(값)
list.add(3) // list 3인 값 추가 

배열의 아이템 조회 메서드 get(인덱스번호)
list.get(0) // 0번째 인덱스 조회

배열의 특정 인덱스에 해당하는 아이템 변경 set(인덱스번호,변경할값)
list.set(0,5) // 0번째 인덱스의 값을 5로 변경

특정 인덱스에 해당하는 아이템 삭제 메서드 remove(인덱스번호)
list.remove(0) 0번째 인덱스에 해당하는 아이템 삭제

배열 길이 확인
list.size()

다차원 배열 작성
Integer data_list[][] = {{1,2,3},{4,5,6}};
data_list[0][1] // 2
data_list[1][1] // 5

 

2. 큐 (Queue)

 - 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조

 - FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out) 

 - 멀티 태스킹을 위한 프로세스 스케쥴링 방식을 구현하기 위해 많이 사용된다.

 

• Enqueue : 큐에 데이터를 넣는 기능

• Dequeue : 큐에서 데이터를 꺼내는 기능 

 

선언 방법

Queue<자료형> queue = new LinkedList<>();

 

데이터 추가

queue.add(값)

queue.offer(값)

 

데이터 반환 후 삭제 poll()

queue.poll(); // 1,2가 기존에 Queue에 담겨 있었다면 1을 반환하고 1 제거, 2만 남음

 

 

 

2일차 인증

 

 

 

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

https://bit.ly/37BpXiC