배열(Array)이란? 연속된 메모리 공간에 순차적으로 저장된 데이터 모음 배열은 배열을 구성하는 요소(element)와 위치를 가리키는 인덱스(index)로 이루어져 있다. 배열의 데이터 타입은 동일해야하며, index라는 데이터의 순서가 있어 접근이 빠르다. 배열의 형태 1차원 배열의 길이를 알고 있을 경우에는 타입[] 변수명 = new 타입[배열의 길이]; 위처럼 작성하고 만약 배열의 요소들을 알고 있을 경우에는 타입[] 변수명 = {김OO, 이OO, 박OO, 최OO}; 위와 같이 지어준다. 다차원 배열의 경우 (2차원) 타입[][] arr3 = new 타입[x][y]; 1차원 배열의 선언에서 대괄호([ ]) 를 n개씩 추가하여 선언한다. 배열의 인덱스에서의 값을 알고 싶다면 변수명[index] 로..
큐(Queue)란? 가장 먼저 입력된 요소를 처리하는 자료구조 - FIFO(First In First Out) 큐의 동작과정 큐를 사용하는 이유 입력된 시간에 따라 순서대로 처리해야 할 때 사용한다. 예를 들어, 우리가 놀이공원에서 줄 선 사람들이 놀이기구를 타고 한 명씩 빠질 때마다 명단에서 지우는 작업을 하고 싶다고 하자. String[] line1 = {"장OO", "임OO", "김OO", "이OO", "박OO", "최OO", ... , "ABC"}; String[] line2 = {"임OO", "김OO", "이OO", "박OO", "최OO", ... , "ABC"}; "장 OO"라는 사람이 놀이기구를 타면 자동으로 앞에서 명단이 지워지고 뒤에 사람부터 앞으로 옮겨져야 한다. 그런데 새치기를 해서 ..
스택(Stack)이란? 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 자료구조 - LIFO(Last In First Out) 스택의 동작과정 스택을 사용하는 이유 '인덱스 없이' 데이터를 넣고 빼기 위해 사용한다. 아래와 같은 배열이 있다고 하자. int[] arr = {1, 2, 6, 4, 8}; 우리가 마지막 번째에 있는 숫자를 출력하고 싶다면 "element가 5개니까 4라는 인덱스를 이용해서 출력해야겠다." 라고 생각한다. 하지만 컴퓨터의 경우 이러한 알고리즘을 구현해 놓지 않으면 알아서 마지막 번째의 숫자를 출력할 수가 없기 때문에 알 수 있게끔 코드를 짜주면 컴퓨터가 코드에 맞게 동작을 하게 되는 것이다. 스택의 기능 1. .push() Stack 객체에 item을 저장한다. public v..