커리큘럼(12-30/변경)
01. Java (v)
02. git
03. Database
04. Jsp [Server]
05. 미니프로젝트 (3W)
06. HTML,CSS
07. JS
08. SpringFramework , SrpingBoot
09. React JS [Front-end]
10. 중간프로젝트 (1M)
11. Linux 명령어
12. AWS 클라우드
13. DevOps - Docker
14. App - Android
15. 최종프로젝트 (1M)
자료구조
- Stack
- LIFO(Last In First Out) - 후입선출구조조
- push() : 마지막에 값 추가
- pop() : 마지막 값 제거
static int[] arr = {1,2,3}; // class 어디서든 사용 가능
static void push(int data) {
//1.배열 크기를 +1 한 새로운 배열 생성
int[] temp = new int[arr.length+1];
//2.arr배열의 요소를 새로운 배열에 복사
for(int i=0;i<arr.length;i++) {
temp[i]=arr[i];
}
//3. 마지막에 data추가
temp[temp.length-1]=data;
//4.원본배열을 바꿔치기
arr=temp;
}
static int pop() {
// 1.배열의 길이가 0보다 클때 수행
if(arr.length>0) {
//2 . 삭제할 데이터 백업
int del=arr[arr.length-1];
//3. arr보다 길이가 -1 temp배열 생성
int[] temp = new int[arr.length-1];
// 4. temp로 값을 복사
for(int i=0;i<temp.length;i++) {
temp[i]=arr[i];
}
//5. 원본배열 바꿔치기
arr=temp;
temp=null;
//4. 삭제한값 리턴
return del;
}
return 0;
}
- Queue
- FIFO(First In First Out) - 선입선출구조
- offer - 마지막에 값 추가
- poll - 가장 첫번째 값 제거
static void offer(int data) {
// 1. 배열 크기를 +1 한 새로운 배열 생성
int[] temp = new int[arr.length+1];
// 2. 배열 복사
for(int i=0;i<arr.length;i++) {
temp[i]=arr[i];
}
// 3. 마지막 추가
temp[temp.length-1]=data;
// 4. 원본 배열 바꿔치기
arr=temp;
}
static int poll() {
// 1. 배열의 크기가 0보다 클때만 실행
if(arr.length>0) {
// 2. 삭제할 데이터 백업
int element = arr[0];
// 3. 배열의 첫번쨰~마지막 요소까지 temp에 옮겨 담는다.
int temp[] = new int[arr.length-1];
for(int i=0;i<temp.length;i++) {
temp[i]=arr[i+1];
}
// 4.원본배열 바꿔치기
arr=temp;
// 5. 삭제한 데이터 반환
return element;
}
return 0;
}